إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على:
Databricks SQL
Databricks Runtime
تحديث قيم الأعمدة للصفوف التي تطابق دالة تقييم. عند عدم توفير دالة تقييم، قم بتحديث قيم العمود لكافة الصفوف.
هذه العبارة معتمدة فقط لجداول Delta Lake.
بناء الجملة
UPDATE table_name [table_alias]
SET { { column_name | field_name } = [ expr | DEFAULT } [, ...]
[WHERE clause]
المعلمات
-
تعريف الجدول المراد تحديثه. يجب ألا يستخدم اسم الجدول مواصفات زمنية أو مواصفات خيارات.
table_nameيجب ألا تكون طاولة خارجية. -
تعريف اسم مستعار للجدول. يجب ألا يتضمن الاسم المستعار قائمة أعمدة.
-
مرجع إلى عمود في الجدول. يمكنك الرجوع إلى كل عمود مرة واحدة على الأكثر.
-
مرجع لحقل داخل عمود من نوع STRUCT. يمكنك الرجوع إلى كل حقل مرة واحدة على الأكثر.
-
تعبير عشوائي. إذا قمت بالإشارة إلى
table_nameالأعمدة، فإنها تمثل حالة الصف قبل التحديث. افتراضي
ينطبق على:
Databricks SQL
Databricks Runtime 11.3 LTS وما فوقDEFAULTالتعبير للعمود إذا تم تعريفه، NULL بخلاف ذلك.-
تصفية الصفوف حسب دالة التقييم.
WHEREقد تتضمن العبارة استعلامات فرعية مع الاستثناءات التالية:- الاستعلامات الفرعية المتداخلة، أي استعلام فرعي داخل استعلام فرعي آخر
NOT INاستعلام فرعي داخلOR، على سبيل المثال،a = 3 OR b NOT IN (SELECT c from t)
في معظم الحالات، يمكنك إعادة كتابة
NOT INالاستعلامات الفرعية باستخدامNOT EXISTS. يجب استخدامNOT EXISTSكلما أمكن، كما هو الحالUPDATEمعNOT INالاستعلامات الفرعية يمكن أن تكون بطيئة.
الأمثلة
> UPDATE events SET eventType = 'click' WHERE eventType = 'clk'
> UPDATE all_events
SET session_time = 0, ignored = true
WHERE session_time < (SELECT min(session_time) FROM good_events)
> UPDATE orders AS t1
SET order_status = 'returned'
WHERE EXISTS (SELECT oid FROM returned_orders WHERE t1.oid = oid)
> UPDATE events
SET category = 'undefined'
WHERE category NOT IN (SELECT category FROM events2 WHERE date > '2001-01-01')
> UPDATE events
SET ignored = DEFAULT
WHERE eventType = 'unknown'