Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Fontos
Ez a funkció nyilvános előzetes verzióban van.
A következőkre vonatkozik:
a Databricks SQL Databricks Runtime 17.0 és újabb
csak Unity Catalog esetén
Létrehoz egy eljárást a Unity Katalógusban, amely argumentumokat vesz fel vagy módosít, SQL-utasítások készletét hajtja végre, és opcionálisan eredményhalmazt ad vissza.
A pozícióparaméter meghívása mellett az eljárásokat nevesített paraméterhívással is meghívhatja.
Szemantika
CREATE [OR REPLACE] PROCEDURE [IF NOT EXISTS]
procedure_name ( [ procedure_parameter [, ...] ] )
[ characteristic [...] ]
AS compound_statement
procedure_parameter
[ IN | OUT | INOUT ] parameter_name data_type
[ DEFAULT default_expression ] [ COMMENT parameter_comment ]
characteristic
{ LANGUAGE SQL |
SQL SECURITY INVOKER |
NOT DETERMINISTIC |
COMMENT procedure_comment |
DEFAULT COLLATION UTF8_BINARY |
MODIFIES SQL DATA }
Paraméterek
CSERÉLJE LE
Ha meg van adva, az azonos nevű eljárás helyébe lép. Egy meglévő függvény nem helyettesíthető eljárásokkal. Ezt a paramétert nem adhatja meg a következővel
IF NOT EXISTS: .HA NEM LÉTEZIK
Ha meg van adva, csak akkor hozza létre az eljárást, ha az adott jegyzettel rendelkező eljárás még nem létezik. Ha létezik egy azonos nevű eljárás, a rendszer figyelmen kívül hagyja az utasítást. Ezt a paramétert nem adhatja meg a következővel
OR REPLACE: .-
Az eljárás neve. Az eljárás nevét igény szerint sémanévvel is minősítheti. Ha a név nincs minősítve, az állandó eljárás az aktuális sémában jön létre.
Az eljárás nevének egyedinek kell lennie a sémában található összes rutinhoz (eljáráshoz és függvényhez).
procedure_parameter
Az eljárás paraméterét adja meg.
-
A paraméter nevének egyedinek kell lennie az eljáráson belül.
IN, INOUT vagy OUT
Opcionálisan a paraméter módját írja le.
BEN
Csak bemeneti paramétert határoz meg. Ez az alapértelmezett érték.
INOUT
Egy bemeneti-kimeneti argumentumot elfogadó paramétert határoz meg. Ha az eljárás kezeletlen hiba nélkül fejeződik be, kimenetként a végső paraméterértéket adja vissza.
KI
Kimeneti paramétert határoz meg. A paraméter inicializálva
NULLvan, és ha az eljárás kezeletlen hiba nélkül fejeződik be, a végső paraméterértéket kimenetként adja vissza.
-
Bármilyen támogatott adattípus.
ALAPÉRTELMEZETT default_expression
Nem kötelező alapértelmezett érték, amelyet akkor kell használni, ha egy függvényhívás nem rendel argumentumot a paraméterhez.
default_expressionparaméternek rendelhetőnek kell lennie típussádata_type. A kifejezés nem hivatkozhat másik paraméterre, és nem tartalmazhat al lekérdezést.Ha egy paraméterhez alapértelmezett értéket ad meg, az alábbi paramétereknek is alapértelmezettnek kell lenniük.
DEFAULTparaméterek esetébenOUTnem támogatott.Megjegyzés megjegyzés
A paraméter opcionális leírása.
commentegy literál kell, hogy legyenSTRING.
-
-
Sql-összetett utasítás (
BEGIN ... END) az SQL-eljárás definíciójával.Az eljárás létrehozásakor a rendszer ellenőrzi a szintaktikai helyességet. Az eljárás törzsének szemantikai helyességét nem ellenőrzik, amíg meg nem hívják az eljárást.
jellemző
A szükséges jellemző
SQL SECURITY INVOKERésLANGUAGE SQL. A többi nem kötelező. Tetszőleges számú jellemzőt tetszőleges sorrendben megadhatja, de mindegyik záradékot csak egyszer adhatja meg.LANGUAGE SQL
A függvény implementálásának nyelve.
SQL SECURITY INVOKER
Megadja, hogy az eljárás törzsében található SQL-utasítások az eljárást megadó felhasználó felügyelete alatt legyenek végrehajtva.
Az eljárás törzsén belüli kapcsolatok és rutinok feloldásakor az Azure Databricks az aktuális katalógust és az aktuális sémát használja a meghíváskor.
NEM MEGHATÁROZOTT
Az eljárás nemdeterminisztikusnak minősül, ami azt jelenti, hogy az egyes meghívások különböző eredményeket adhatnak vissza, még akkor is, ha ugyanazokkal az argumentumokkal hívják meg.
MEGJEGYZÉS procedure_comment
Megjegyzés az eljáráshoz.
procedure_commentkell, hogySTRINGliterál legyen. Az alapértelmezett érték aNULL.ALAPÉRTELMEZETT RENDEZÉSI UTF8_BINARY
A következőre vonatkozik:
Databricks SQL
Databricks Runtime 17.1 és újabbKényszeríti az eljárás alapértelmezett rendezést a következőre
UTF8_BINARY: . Ez a záradék kötelező, ha az eljárás alapjául szolgáló séma nem alapértelmezett rendezésselUTF8_BINARYrendelkezik. Az eljárás alapértelmezett karakterkészlete az eljárásparaméterek alapértelmezett karakterkészleteként, valamint az eljárás törzsében az összes sztringkonstans és helyi változó alapértelmezett karakterkészleteként szolgál.SQL-ADATOK MÓDOSÍTÁSA
A rendszer feltételezi, hogy egy eljárás módosítja az SQL-adatokat.
Példák
-- Demonstrate INOUT and OUT parameter usage.
> CREATE OR REPLACE PROCEDURE add(x INT, y INT, OUT sum INT, INOUT total INT)
LANGUAGE SQL
SQL SECURITY INVOKER
COMMENT 'Add two numbers'
AS BEGIN
SET sum = x + y;
SET total = total + sum;
END;
> DECLARE sum INT;
> DECLARE total INT DEFAULT 0;
> CALL add(1, 2, sum, total);
> SELECT sum, total;
3 3
> CALL add(3, 4, sum, total);
7 10
-- The last executed query is the result set of a procedure
> CREATE PROCEDURE greeting(IN mode STRING COMMENT 'informal or formal')
LANGUAGE SQL
SQL SECURITY INVOKER
AS BEGIN
SELECT 'Hello!';
CASE mode WHEN 'informal' THEN SELECT 'Hi!';
WHEN 'formal' THEN SELECT 'Pleased to meet you.';
END CASE;
END;
> CALL greeting('informal');
Hi!
> CALL greeting('formal');
Pleased to meet you.
> CALL greeting('casual');
Hello!