انتقل إلى محتوى الدرس

Constructs Blocking View Updates موانع التعديل عبر العرض

تعلّم إدارة العروض القابلة للتحديث وقيد WITH CHECK OPTION في MySQL بأسلوب MySQL 8 الحديث مع أمثلة استعلامات SQL وتطبيقات تفاعلية.
1 صفوف تعليمية
MySQL
7 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

متى يصبح العرض للقراءة فقط (Read-Only View) ويرفض أوامر التعديل؟ بمجرد أن يحتوي استعلام العرض على أي بنية SQL تدمج عدة صفوف في صف واحد أو تولّد قيماً مشتقة لا يمكن عكسها إلى صف أصلي محدد، يمنع MySQL التحديث ويُطلق الخطأ ERROR 1288 (HY000): The target table of the UPDATE is not updatable.

أبرز الموانع التي تجعل العرض غير قابل للتحديث:

  • دوال التجميع والتلخيص: مثل SUM() وCOUNT() وAVG() وMIN() وMAX().
  • عبارات التجميع والتكرار: وجود DISTINCT أو GROUP BY أو HAVING.
  • عمليات المجموعات والنوافذ: وجود UNION أو UNION ALL أو دوال النوافذ OVER (...) أو الاستعلامات الفرعية في بند FROM.
SQL
SELECT Table_name, Is_updatable FROM information_schema.VIEWS WHERE ...;

محاكي تحديث العروض وقيد WITH CHECK OPTION