إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على:
Databricks SQL
Databricks Runtime 14.3 وما فوق
تنفيذ عبارة SQL المقدمة ك STRING.
تمرر العبارة الوسيطات اختياريا إلى علامات المعلمات وتعين النتائج إلى المتغيرات.
بناء الجملة
EXECUTE IMMEDIATE sql_string
[ INTO var_name [, ...] ]
[ USING { arg_expr [ AS ] [alias] } [, ...] ]
للتوافق مع لهجات SQL الأخرى، EXECUTE IMMEDIATE يدعم أيضا USING ( { arg_expr [ AS ] [alias] } [, ...] )
المعلمات
sql_stringSTRINGحرفي أو متغير، ينتج عبارة SQL جيدة التكوين.لا يمكنك تضمين
EXECUTE IMMEDIATEعبارات.INTO ( var_name [, ...] )إرجاع نتائج استعلام صف واحد اختياريا إلى متغيرات SQL. إذا لم يرجع الاستعلام أي صفوف، تكون النتيجة هي
NULL.إذا لم تكن العبارة استعلاما، فإن
INVALID_STATEMENT_FOR_EXECUTE_INTOAzure Databricks يثير خطأ.إذا أرجع الاستعلام أكثر من صف واحد، فإن Azure Databricks يثير خطأ ROW_SUBQUERY_TOO_MANY_ROWS .
-
متغير SQL. قد لا تتم الإشارة إلى متغير أكثر من مرة.
-
USING { arg_expr [ AS ] [alias] } [, ...]اختياريا، إذا كان
sql_stringيحتوي على علامات معلمات، يربط في القيم بالمعلمات.
الأمثلة
-- 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