الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

أي العمليتين تنفد قبل الأخرى : Insert أو Delete عند تنفيذ Update

مغلق
بدأه Fikou-sama في 20 فبراير 2008 · 5 رد · 971 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

إخواني .. أريد أن أعرف ترتيب تنفيد هده العملية من طرف SQL server ..

Me.ContratBindingSource.EndEdit()

Me.ContratTableAdapter.Update(Me.LocationDataSet.Contrat)

يعني هل تتم الإضافة ثم الحدف أو العكس ... أنه و كما تعرفون فإن Update ما هو إلا delete و insert ..

أظن أن الحذف هو الدي يتم في الأول ثم الإضافة لأنه لا يمكن لجدول أن يحتوي على سطرين لهما نفس قيمة Primary Key ...

و لكن من جهة أخرى لا أرى هدا التسلسل في معالجة البيانات أني استخدم Triggers على الجدول و لا تنفذ 100% مع أنه عند إختبار الكود في Query Analyzer تعمل هده Triggers بالشكل المطلوب ...

و أريد أن أعرف فقط أي العمليتين تنفذ قبل الأخرى ...

المرجو الرد في أقرب وقت لأني على وشك الإنتهاء من برنامجي و بقي لي فقط هدا المشكل

و جزاكم الله خيرا

تم تعديل هذه المشاركة بواسطة Fikou-sama في 20 فبراير 2008 في 03:57

مقالاتي في VB.NET وبرامجي على موقعي الجديد :

#2

عملية الـupdate ليست عملية حذف ثم إعادة إدخال إلا في حالات معينة. و لكن في هذه الحالات يتم الحذف أولاً. و حسب ما أعرف أن الـtrigger لن يمسك بعملية الحذف هذه لأنها في تلك الحالة تكون عملية داخلية.

#3
System Down كتب:
عملية الـupdate ليست عملية حذف ثم إعادة إدخال إلا في حالات معينة. و لكن في هذه الحالات يتم الحذف أولاً. و حسب ما أعرف أن الـtrigger لن يمسك بعملية الحذف هذه لأنها في تلك الحالة تكون عملية داخلية.

إلا في حالات معينة

وهي الحالات التي يكون فيها أي فهرس(Index) على هذا الجدول ..

#4
اقتباس
إلا في حالات معينة

هدا ما يحدث معي ... لأن عند عمل Update فإن Trigger ل Insert ينفذ تماما و لكن Trigger ل Delete لا ينفد .. فأنتهى بي الأمر لعمل Trigger ل Update و نسخت فيه نفس الكود الدي في Trigger ل Delete ... و لكن هدا الحل غير عملي ... فلا يعقل أن نعمل نفس Trigger في Update و Delete على العديد من الجداول ...

فهل من حل ؟؟

مقالاتي في VB.NET وبرامجي على موقعي الجديد :

#5

يمكنك عمل الكود داخل stored procedure واحد و تجعل جميع الـtrigger تنفذه.

#6

و لكني بحاجة للجداول Deleted و Inserted ... إني أفكر بعمل stored procedure كما دكرت و تكون لها Parameter يمثل أحد هده الجداول و لكني لن أستطيع تحديد ما إدا كانت قيمة Parameter تساوي Inserted أو deleted ... فلا أعرف ما إدا كانت هناك stored procedure معرفة مسبقا في SQLserver تساعدني على تحديد دلك ..

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

و شكرا جزيلا يا System Down ...

مقالاتي في VB.NET وبرامجي على موقعي الجديد :

هذا الموضوع مغلق.

مواضيع مشابهة