شرح صفوف ومحتوى الفقرة
عندما تتغير متطلبات العمل وتحتاج إلى إضافة عمود جديد أو تعديل شرط التصفية داخل عرض موجود مسبقاً، فإن تنفيذ CREATE VIEW بنفس الاسم سيُرجع الخطأ ERROR 1050 (42S01): Table already exists. ولتجنب حذف العرض يدوياً ثم إعادة إنشائه، يوفر MySQL صيغتين قياسيتين لتحديث تعريف العرض في مكانه:
- صيغة
CREATE OR REPLACE VIEW: تنشئ العرض إذا لم يكن موجوداً، أو تستبدل تعريفه فوراً إذا كان موجوداً مسبقاً، وهي الصيغة الأكثر شيوعاً في ملفات الترحيل (Migrations). - صيغة
ALTER VIEW: تعدّل تعريف عرض موجود بالفعل، وتفشل برسالة خطأ واضحة إذا لم يكن العرض موجوداً في قاعدة البيانات.
SQL
CREATE OR REPLACE VIEW v_active_customers AS SELECT ...;