AZONNALI VÉGREHAJTÁS
A következőkre vonatkozik: Databricks SQL Databricks Runtime 14.3 vagy újabb
Végrehajt egy SQL-utasítást, amely egy STRING
.
Az utasítás opcionálisan átadja az argumentumokat a paraméterjelölőknek, és az eredményeket változókhoz rendeli.
Syntax
EXECUTE IMMEDIATE sql_string
[ INTO var_name [, ...] ]
[ USING { arg_expr [ AS ] [alias] } [, ...] ]
Más SQL-dialektusokkal EXECUTE IMMEDIATE
való kompatibilitás érdekében a USING ( { arg_expr [ AS ] [alias] } [, ...] )
Paraméterek
sql_string
Egy
STRING
konstans vagy változó, amely egy jól formázott SQL-utasítást hoz létre.Utasítások nem ágyazhatók be
EXECUTE IMMEDIATE
.INTO ( var_name [, ...] )
Opcionálisan egy soros lekérdezés eredményeit adja vissza SQL-változókba. Ha a lekérdezés nem ad vissza sorokat, az eredmény .
NULL
Ha az utasítás nem lekérdezés, az Azure Databricks hibát jelez
INVALID_STATEMENT_FOR_EXECUTE_INTO
.Ha a lekérdezés egynél több sort ad vissza, az Azure Databricks ROW_SUBQUERY_TOO_MANY_ROWS hibát jelez.
-
EGY SQL-változó. Egy változóra csak egyszer lehet hivatkozni.
-
USING { arg_expr [ AS ] [alias] } [, ...]
sql_string
Ha paraméterjelölőket tartalmaz, akkor az értékek a paraméterekhez kötődnek.arg_expr
Egy paraméterjelölőhöz kötődő literál vagy változó. Ha a paraméterjelölők névtelenek, a kötés pozíció szerint történik. Az elnevezett paraméterjelölők esetében a kötés név szerint történik.
alias
Felülbírálja a névvel ellátott paraméterjelölőhöz való kötéshez
arg_expr
használt nevet. Minden elnevezett paraméterjelölőnek egyszer kell egyeznie. Nem mindennekarg_expr
kell egyeznie.
Példák
-- A self-contained execution using a literal string
> EXECUTE IMMEDIATE 'SELECT SUM(c1) FROM VALUES(?), (?) AS t(c1)' USING 5, 6;
11
-- A SQL string composed in a SQL variable
> DECLARE sqlStr = 'SELECT SUM(c1) FROM VALUES(?), (?) AS t(c1)';
> DECLARE arg1 = 5;
> DECLARE arg2 = 6;
> EXECUTE IMMEDIATE sqlStr USING arg1, arg2;
11
-- Using the INTO clause
> DECLARE sum INT;
> EXECUTE IMMEDIATE sqlStr INTO sum USING arg1, arg2;
> SELECT sum;
11
-- Using named parameter markers
> SET VAR sqlStr = 'SELECT SUM(c1) FROM VALUES(:first), (:second) AS t(c1)';
> EXECUTE IMMEDIATE sqlStr INTO sum
USING (5 AS first, arg2 AS second);
> SELECT sum;
11
Kapcsolódó cikkek
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: