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

سؤال هام عن ال view


wayout

Recommended Posts

السلام عليكم اخوتى فى الله كنت اود ان اسالكم عن
rules for performing dml operations on view
وذلك من خلال لماذا ال view يكون خطا اذا كان هناك الاتى

1- group clause
2 - distinct keyword
3- rownum keyword
وجزاكم الله كل خير ارجو منكم السرعه فى الرد :)

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

السلام عليكم ورحمة الله وبركاته

ردا علي سؤال الأخ الكريم
أولا الview لا يحتوي بداخله علي أية بيانات بل هو مجرد عرض لجدول أساسي في الاسكيمة
وعندما يحتوي ال view علي group function لا يمكن إجراء اي عملية dml لأنك مثلا لو قمت بالحذف فأي صف سوف تحذفه؟ حيث أن الgroup هي مجموعة صفوف تجمعها دالة معينة ونفس الشئ في حالة insert لو أردت إدخال بيان جديد ماذا ستكتب في عمود الgroup function ؟ لا تعلم لأنها دالة تعتمد علي أكثر من صف وليست قيمة واحدة ونفس الشئ في حالة عمل update فأي بيان سوف تغيره؟ ولا تنسي أن الجدول الأصلي لا يحتوي علي هذه الجروب بل انها موجودة لعرض الview فقط

أما في حالة وجود distinct keyword فهذا يعني أن الview يعرضهم بهذه الصورة فمثلا لو كان هناك مجموعة أقسام يشغلها موظفين فإنه يحتمل للقسم الواحد أن يشغله أكثر من موظف فقد يتكرر مثلا القسم رقم 50 ولكن في ال view سيتم عرض قسم 50 واحد فقط منهم في حالة استخدام distinct وبالتالي عند إجراء أي dml operationكيف تعرف علي أي صف سوف تنفذ؟لا تعلم بالطبع لأن في هذه الحالة يوجد مجموعة من الصفوف مختفية غير معروضة و لها نفس رقم القسم 50 ولهذا لا يمكن تنفيذها

وأخيرا في حالة وجود rownum keyword( وهو عمود وهمي غير موجود في الجدول الأصلي )
وهو يعمل علي ترتيب الصفوف تلقائيا
وعند عمله في ال view فهذا يعني أنك لا تستطيع حذف أو تعديل أو إدخال أي قيم جديدة لآنك في هذه الحالة سوف تعمل علي تغيير ترتيب ال rownum وهذا لايمكن حدوثه لأنه لا يتغير فهو مرتب تلقائيا والview قد أنشئ مرتبا بهذا ال rownum

أرجو ان أكون استطعت إفادتك
والسلام عليكم ورحمة الله وبركاته

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

  • بعد 2 سنة...

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

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

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

×   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.

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

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

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