تعديل العرض ALTER VIEW

من موسوعة حسوب
< SQL
مراجعة 09:56، 30 يناير 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات) (تعديل الأمثلة)

يستخدم هذا الأمر لتعديل عرضٍ مُنشَأ مسبقًا عبر الأمر CREATE VIEW، وله الصيغ الآتية:

ALTER VIEW [ IF EXISTS ] name ALTER [ COLUMN ] col_name SET DEFAULT expression;

لتحديد قيمة افتراضية expression للعمود column_name الموجود في العرض name (إن وُجد).

ALTER VIEW [ IF EXISTS ] name ALTER [ COLUMN ] col_name DROP DEFAULT;

لحذف القيمة الافتراضية للعمود column_name الموجود في العرض name (إن وُجد).

ALTER VIEW [ IF EXISTS ] name OWNER TO new_owner;

لنقل ملكية العرض name إلى المالك new_owner.

ALTER VIEW [ IF EXISTS ] name RENAME TO new_name;

لإعادة تسمية العرض name باسم new_name.

ALTER VIEW [ IF EXISTS ] name SET ( view_option_name [= view_option_value] [, ... ] );

لتعديل أيّ من قيم الخيارات options العرض name.

ALTER VIEW [ IF EXISTS ] name RESET ( view_option_name [, ... ] );

لإعادة ضبط أيّ من قيم الخيارات options العرض name لتصبح القيمة الافتراضية.

ALTER VIEW name [(column_list)]
    AS select_statement;

لتعديل تعريف العرض name ليصبح اعتمادًا على استعلام جديد select_statement.

مثال

لإعادة تعريف العرض novels المنشَأ مسبقًا نستخدم الأمر التالي:

ALTER VIEW novels AS 
  SELECT * 
  FROM books
  WHERE category = novel OR category = 'story' ;

لضبط القيمة الافتراضية 'anonymous' لعمود author في العرض novels يستخدم الأمر:

ALTER VIEW novels ALTER author SET DEFAULT 'anonymous';

لإعادة تسمية العرض باسم novels ليصبح stories، يستخدم الأمر التالي:

ALTER VIEW novels RENAME TO stories;

التوافقية

SQLServer SQLite Oracle PostgreSQL MySQL
نعم لا نعم نعم نعم

يقتصر تعديل العرض view في محرك Oracle على إضافة القيود ADD أو تعديلها MODIFY أو حذفها DROP.

مصادر