SELECT الذي جرى تحديده عند إنشاء عرض مادي باستخدام التعليمة ALTER TABLE ... MODIFY QUERY من دون مقاطعة عملية الإدخال.
صُمم هذا الأمر لتعديل عرض مادي أُنشئ باستخدام العبارة TO [db.]name. وهو لا يغيّر بنية جدول التخزين الأساسي، كما لا يغيّر تعريف أعمدة العرض المادي، لذلك يكون استخدام هذا الأمر محدودًا جدًا مع العروض المادية التي أُنشئت من دون العبارة TO [db.]name.
مثال مع جدول TO
SELECT من دون إضافة أعمدة جديدة.
الامتيازات المطلوبة
تتطلبALTER TABLE ... MODIFY QUERY امتياز ALTER VIEW MODIFY QUERY على العرض. يُنفَّذ الاستعلام الجديد وفق إعداد SQL security الخاص بالعرض، لذا تتطلب العبارة أيضًا الأذونات اللازمة لإنشاء عرض بإعداد SQL security ذاته:
SQL SECURITY DEFINERمع مُعرِّف (definer) غير المستخدم الحالي: امتيازSET DEFINERعلى ذلك المُعرِّف.SQL SECURITY NONE: امتيازALLOW SQL SECURITY NONE.
MODIFY SQL SECURITY، فإن هذه الأذونات تُشترط لإعداد SQL security الجديد بدلًا من القديم.
عند استخدام ON CLUSTER، يجري التحقق من صلاحية تنفيذ العبارة على المضيف الذي تُنفَّذ عليه، لذا يجب أن يكون العرض موجودًا على ذلك المضيف، وإلا فستفشل العبارة بالخطأ UNKNOWN_TABLE.
تعليمة ALTER TABLE … MODIFY REFRESH
تُغيّرALTER TABLE ... MODIFY REFRESH مَعلمات التحديث الخاصة بـ العرض المادي القابل للتحديث، بما في ذلك الجدول الزمني، والتبعيات، والعشوائية، وإعدادات التحديث.
EVERY أو AFTER) إلزامي: إذ تستبدل التعليمة جميع معلمات التحديث دفعةً واحدة. وأي عبارة لا تُحدَّد — RANDOMIZE FOR أو DEPENDS ON أو SETTINGS — تُزال أو تُعاد إلى قيمها الافتراضية. ولتغيير إعدادات التحديث فقط، أعِد استخدام الجدول الزمني الحالي.
يُحدِّث الأمر تكوين التحديث للعرض الحالي في موضعه، دون إعادة إنشاء العرض المادي أو جدول الهدف الخاص به، أو مسح بيانات الهدف الحالية، أو إلغاء تحديث قيد التشغيل بالفعل. وتستمر عمليات القراءة من جدول الهدف الحالي أثناء تغيير التكوين.
تكرار الأمر باستخدام مواصفة REFRESH الكاملة نفسها آمن. احرص على تكرار كل عبارة ينبغي أن تظل مُكوَّنة، لأن كل تنفيذ يستبدل جميع معلمات التحديث كما هو موضح أعلاه.
-
ALTER TABLE ... MODIFY SETTINGغير مدعوم في العروض المادية؛ ولا يمكن تغيير إعدادات التحديث إلا عبرMODIFY REFRESH. - لا يدعم إضافة
APPENDأو إزالته. - لا يمكن تغيير إعداد التحديث
all_replicasبعد إنشاء العرض.
system.view_refreshes.