Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
Bu özellik Genel Önizleme aşamasındadır.
Şunun için geçerlidir: Databricks Runtime 17.0 ve üzeri
Saklı yordamı ada göre çağırır ve bağımsız değişkenleri yordama ve yordamdan geçirir.
Prosedür çağrıları en fazla 64 düzey iç içe olabilir.
Sözdizimi
CALL procedure_name( [ argument [, …] ]
[ namedParameter => argument ] [, ...] )
Parametreler
-
Çağrılacak yordamın adı. Prosedür adı isteğe bağlı olarak bir şema adı ile nitelenebilir. Eğer isim nitelikli değilse, prosedür geçerli şemada çözümlenir. Eğer prosedür mevcut değilse, bir
ROUTINE_NOT_FOUND
hatası ortaya çıkar. -
Parametrelere atanan bağımsız değişkenler için, parametreye
IN
atanabilecek türdeki herhangi bir ifade veyaDEFAULT
anahtar sözcük.OUT
veINOUT
parametreleri için bağımsız değişken bir oturum değişkeni veya yerel değişken olmalıdır.Yordam başarısız olursa,
OUT
veINOUT
parametrelerinin bağımsız değişken değerleri değişmeden kalır. -
atandığı
argExpr
parametrenin nitelenmemiş adı.
Bağımsız değişkenlerin sayısı, yordam için belirtilen parametre sayısından büyük olmamalı.
Parametrelerden daha az bağımsız değişken belirtirseniz, parametrelerin DEFAULT
değerleriyle tanımlanması gerekir.
Örnekler
> CREATE OR REPLACE PROCEDURE area_of_rectangle
(IN x INT, IN y INT, OUT area INT, INOUT acc INT)
LANGUAGE SQL
SQL SECURITY INVOKER
AS BEGIN
SET area = x * y;
SET acc = acc + area;
SELECT 'Area of rectangle is: ' || area;
END;
-- Session varables to handle OUT and INOUT parameters
> DECLARE area INT;
> DECLARE acc INT DEFAULT 10;
-- Invocation by position
> CALL area_of_rectangle(5, 10, area, acc);
Area of rectangle is: 50
> SELECT area, acc;
area acc
—--- —--
50 60
-- Invocation by name
> CALL area_of_rectangle(y => 10, x => 5, area => area, acc => acc);
Area of rectangle is: 50
> SELECT area, acc;
area acc
—--- —--
50 120