الانتقال إلى المحتوى

الفرق بين WITH CHECK OPTIONوWITH READ ONLY


omar-alreyati

Recommended Posts

الاخوة الاعزاء : ارجو منكم شرح الفرق بين WITH CHECK OPTIONوWITH READ ONLYخلال مرحلة خلق view، والموضح في الجمل الاتية :

WITH CHECK OPTION specifies that only rows accessible to the view can be inserted or updated

WITH READ ONLY ensures that no DML operations can be performed on this view

راجياً التوضيح الفرق بينهما واذا امكن مع الامثلة

وشكراً

رابط هذا التعليق
شارك

الاخ الكريم
يقصد هنا انه

WITH CHECK OPTION specifies that only rows accessible to the view can be inserted or updated


هذه تستطيع التعديل والاضافلة على هذه ال view حيث تعتبرها كالجدول

WITH READ ONLY ensures that no DML operations can be performed on this view

في هذه الجملة تستطيع عمل view للعرض فقط دون الاستطاعة من الاضافة او التحديث
رابط هذا التعليق
شارك

  • بعد 1 شهر...

الاخ الفاضل / omar-alreyati
السلام عليكم ورحمة الله وبركاته
عند انشاء منظور View فانه من الممكن استخدام لاجراء اضافة ان تعديل فى الجدول الاصلى له
مثلا

CREATE OR REPLACE VIEW empvu20
AS SELECT *
FROM  employees
WHERE  department_id = 20



يقوم المثال السابق بعمل view لموظفى الادارة رقم 20

وعند عمل اضافة من هذا المنظور وتكن

UPDATE empvu20
SET department_id = 10
WHERE employee_id = 201;



فان هذا الجملة سوف تتم وتقوم بتعديل ادارة الموظف رقم 201 الى من 20 الى 10

اما عند استخدام WITH CHECK OPTION
فتصبح الجملة

CREATE OR REPLACE VIEW empvu20
AS SELECT *
FROM  employees
WHERE  department_id = 20
WITH CHECK OPTION CONSTRAINT empvu20_ck;



وفى هذه الحالة لايمكن اجراء اى جملة تعديل او اضافة لا تتفق مع الشرط المذكور فى جملة انشاء الـview (وهو هنا departemnt_id = 20)

ولذلك عند اجراء الجملة التالية

UPDATE empvu20
SET department_id = 10
WHERE employee_id = 201;



تعطى اوركل الخطأ

ERROR (ORA-01402: view WITH CHECK OPTION where-clause violation)



مع تحياتى
اسامه سليمان
القاهرة

رابط هذا التعليق
شارك

الاخ العزيز : اسامة سليمان ؟

شكراً لك على الشرح، لكن كيف يمكن التعديل او الاضافة للمظور (view) في حال الcheck option
كما في المثال .


وشكراً جزيلاً

رابط هذا التعليق
شارك

يمكن التعديل والاضافة من خلال الـ view فى حالة وجود with Check Option بشرط ان تتوافق البيانات المدخلة مع شرط الموضوع فى جملة انشاء المنظور

فالجملة التالية مقبولة اذا تم تنفيذها فى الـ view فى المثال السابق

UPDATE empvu20
SET department_id = 20
WHERE department_id = 10;

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية