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

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

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


5 رد (ردود) على هذا الموضوع

#1 omar-alreyati

omar-alreyati

    عضو مميز

  • الأعضــاء
  • 596 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 27 November 2005 - 03:19 PM

الاخوة الاعزاء : ارجو منكم شرح الفرق بين 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

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

وشكراً

بالله عليكم لا تنسوني من دعاءكم الصالح
لا تنسوا أهل غزة والعراق والمجاهدين من دعاءكم

#2 أسامة موسى

أسامة موسى

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 2,381 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 27 November 2005 - 04:02 PM

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

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 للعرض فقط دون الاستطاعة من الاضافة او التحديث
۩ اللهـــــــــــــــــــــــم صلي على سيدنا محمد وعلـى آله وصحبه أجمـعين ۩
۩ سبحـــــــــــــــــان الله وبحمده ....... سبحــــــــــــــــــــــــان الله العظيم ۩



يمكنك زيارتي على صفحتي الخاصة بالفيس بوك على الرابط AskOsama

يمكنك زيارتي على مدونتي الجديدة على الرابط http://askossama.blogspot.com

#3 omar-alreyati

omar-alreyati

    عضو مميز

  • الأعضــاء
  • 596 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 28 November 2005 - 03:14 PM



شكراً لك أخ ADMIN05



بالله عليكم لا تنسوني من دعاءكم الصالح
لا تنسوا أهل غزة والعراق والمجاهدين من دعاءكم

#4 Osama Soliman

Osama Soliman

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,611 مشاركة
  • الاسم الأول:Osama
  • اسم العائلة:Soliman
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle Technical Consultant - Asfour Crystal International

تاريخ المشاركة 07 January 2006 - 09:16 PM

الاخ الفاضل / 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)

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

وقل رب زدنى علماً
Osama M. Soliman
Oracle Certified Professional
Oracle Technical Consultant

 Asfour Crystal International
Cairo - Egypt
Osama.Soliman@hotmail.com
Osama.Soliman@asfourcystal.com


#5 omar-alreyati

omar-alreyati

    عضو مميز

  • الأعضــاء
  • 596 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 08 January 2006 - 09:48 AM

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

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


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

بالله عليكم لا تنسوني من دعاءكم الصالح
لا تنسوا أهل غزة والعراق والمجاهدين من دعاءكم

#6 Osama Soliman

Osama Soliman

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,611 مشاركة
  • الاسم الأول:Osama
  • اسم العائلة:Soliman
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle Technical Consultant - Asfour Crystal International

تاريخ المشاركة 09 January 2006 - 12:07 AM

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

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

UPDATE empvu20
SET department_id = 20
WHERE department_id = 10;

وقل رب زدنى علماً
Osama M. Soliman
Oracle Certified Professional
Oracle Technical Consultant

 Asfour Crystal International
Cairo - Egypt
Osama.Soliman@hotmail.com
Osama.Soliman@asfourcystal.com