بسم الله الرحمن الرحيم
سؤال يتكرر كثيراً عند مبرمجي/ مطوري قواعد البيانات، ما الميزات الجديد التي تحفزني للانتقال الى Oracle 12c بالرغم من أن نظامي مستقر ولا يوجد مشاكل ويؤدي ما علية من واجبات.
في هذة التدوينة، ان شاء الله سأتناول 17 ميزة جديدة تم اضافتها الى Oracle 12c وخاصة بالمطورين. ففي هذة التدوينة سأوجه حديثي الى المطورين وليس مدراء قواعد البيانات.
في كل تدوينة سأتحدث عن أحد هذة الميزات 17 وذلك بشيئ من التفصيل.
إذاً أهلاً بك عزيزي مطور قواعد البيانات في هذة المقالة القصيرة التي تعطيك بعض المعلومات الهامة عن الامكانيات الهائلة لذلك العملاق القادم من شركة أوركل 12c. فلنبدأ على بركة الله
لكن الاأمر الأن اختلف من 12c يمكنك أن تستخدم التالي:
Cascading Truncate
معظم Tables في قواعد البيانات مبنية على فكرة Master/Details، ومن المعروف انه عند بناء الTables يوجد خيار On Delete Cascade وفي هذا الخيار يتم حذف سجلات الأبناء في حال حذف سجل الأب الرئيسي.
لكن مهلاً ماذا لو أردنا استخدام Truncate لمسح بيانات الMaster Table، بالتأكيد لا يمكننا ذلك في النسخ السابقة وسوف يظهر لنا الخطأ التالي:
line 1: ORA-02266: توجد مفاتيح ربط فعالة تشير إلى المفاتيح الأساسية/الفريدة في الجدول
ORA-02266: unique/primary keys in table referenced by enabled foreign keys
truncate table cascade;
لكن يجب ان تكون معرف الخيار التالي:
Foreign Key as ON DELETE CASCADE
ALTER TABLE <Detail_Table> ADD CONSTRAINT <Const_name > FOREIGN KEY (<Col_name> ) REFERENCES
<Master_table (<Col_name>)
> ON DELETE CASCADE
في حال عدم تفعيل هذا الخيار ستكون النتيجة كتالي:
ORA-14705: unique or primary keys referenced by enabled foreign keys in
table
في التدوينة القادمة سأتحدث بإذن الله عن Invisible Column.
فإلى ذلك الحين أتركم في حفظ الله ورعايته والسلام عليكم ورحمة الله وبركاته.
ليست هناك تعليقات:
إرسال تعليق