تعديل الفهرس ALTER INDEX

من موسوعة حسوب
< SQL
مراجعة 07:47، 13 يناير 2018 بواسطة Nourtam (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يستخدم هذا الأمر لتعديل الفهرس المُنشأ عبر الأمر CREATE INDEX، وله الصيغ الآتية:

ALTER INDEX [ IF EXISTS ] name RENAME TO new_name

لتغيير اسم الفهرس المسمى name (إن وُجد) ليصبح باسم new_name.

ALTER INDEX [ IF EXISTS ] name SET ( storage_parameter = value [, ... ] )

لتعديل أيّ من قيم معاملات التخزين المتعلقة بالفهرس (إن وُجد).

ALTER INDEX [ IF EXISTS ] name RESET ( storage_parameter [, ... ] )

لإعادة ضبط كافة قيم معاملات التخزين لهذا الفهرس (إن وُجد) إلى القيم الافتراضية. أما في محرك SQL فيجب تحديد الكائن object الذي سيُعدّل فهرسه لتصبح البنية العامة بالشكل:

ALTER INDEX index_name ON <object>  
{  
    DISABLE  
    | SET ( <set_index_option> [ ,...n ] )   
    | PAUSE
} ;

إذ إن الكلمة المفتاحية DISABLE تستخدم لتعطيل الفهرس، و SET لضبط قيم خياراته، أما PAUSE فلإيقافه بشكل مؤقّت.

مثال

لضبط قيمة التخزين fillfactor للفهرس distributers لتصبح 75 يُستخدَم الأمر:

ALTER INDEX distributors SET (fillfactor = 75);

التوافقية

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

في محرك MySQL يُمكن تعديل تسمية الفهرس من خلال الأمر ALTER TABLE، أما في محرك SQLite فيمكن حذف الفهرس الحالي وإنشاء فهرس جديد بالاسم الجديد.

مصادر