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

سؤال حول التريقر

بدأه Sa Mu في 2 مايو 2010 · 6 رد · 1,047 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي في جدول حقل منطقي

ما هو التريقر الدي يسمح بإعطاء قيمة نعم أثتاء التعديل ولا بعد التعديل, أي أن السجل لما يكون في حالة التعديل يأخذ الحقل القيمة true وفي الحالة العادية false

#2

لو سمحت اخي ممكن توضح السؤال أكثر.

أنا ممكن أساعدك لكني لم افهم السؤال.

#3

مثلا عندي جدول 1 وجدول 2. الجدول 1 فيه حقل منطقي يأخذ القيمة لا.

أريد أثناء التعديل في الجدول 2 أي أن الجدول 2 يكون في Mode Edit يأخذ الحقل في الجدول 1 القيمة نعم. وبعد التعديل والحفظ أو الالغاء في الجدول 2 يستعيد الحقل المنطقي في الجدول 1 القيمة لا.

وشكرا

#4

السلام عليكم

تحتاج الى 3 تريجر (للحذف والاضافة والتعديل)

وهي كمايلي :

--insert
CREATE TRIGGER  Table2Insert  ON Table2
AFTER INSERT
AS

update table1
set field1 =true 
where id in 
(select Table2id from inserted)

--update


CREATE TRIGGER  Table2Update ON Table2
AFTER update
AS

update table1
set field1 =false
where id in 
(select Table2id from inserted)

--delete


CREATE TRIGGER  Table2Delete ON Table2
AFTER Delete
AS

update table1
set field1 =true
where id in 
(select Table2id from Deleted)

تم تعديل هذه المشاركة بواسطة TareqVB في 8 مايو 2010 في 11:00

#5

after تعني بعد التعديل وأنا أريد أثناء أو قبل التعديل.

for / after لا تجدي نفعا. والـ Before لم أجدها

#6

السلام عليكم

مالفرق بين قبل وبعد مادامت العملية ستتم في نفس الوقت واذا حدث خطأ لن يتم تنفيذ اي شيء لان SQL server يبدأ Transaction تلقائي.

#7

شكرا جزيلا على مساعدتكم.

أظن أنني وجدت ما كنت أبحث عنه.

شكرا Black_eagle -- and -- Tareq.VB

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