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 SQL
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.
Uyarı
CALL deyimi ODBC'de desteklenmez.
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_FOUNDhatası ortaya çıkar. -
Parametrelere atanan bağımsız değişkenler için, parametreye
INatanabilecek türdeki herhangi bir ifade veyaDEFAULTanahtar sözcük.OUTveINOUTparametreleri 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,
OUTveINOUTparametrelerinin bağımsız değişken değerleri değişmeden kalır.Uyarı
Bağımsız değişken, parametrenin veri türüyle eşleşmelidir. Bu, bir
DATE'2015-01-01'parametresi için'2015-01-01'yerine, örneğin:DATEbelirtmeyi içerir. -
atandığı
argExprparametrenin 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