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

هل يوجد الحدثbefore في التريقر؟

بدأه Sa Mu في 9 سبتمبر 2009 · 7 رد · 685 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

صحّ فطوركم.

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

أي أريد أن أستعمل الحدثBEFORE

**********************

CREATE TRIGGER Emp_UPD On Employee FOR UPDATE

AS

DECLARE @RC CHAR(10)

SELECT @RC = Mat_emp From deleted

INSERT INTO CONG (MAT,NBR_JOUR) VALUES (@RC,10)

**********************

MERCIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII

IIIIIIIIIIIIIIIIIIIIIII

تم تعديل هذه المشاركة بواسطة Sa Mu في 10 سبتمبر 2009 في 12:10

#2

أين أنتم؟ 27 مشاهدة ولا جواب!!!!!!!!!!!!!

#3

بالله عليكم. أستحلفكم بالله أن تسرعوا

#4

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

اخي الكريم لا يوجد امر before .

لكن ما الفرق بين قبل وبعد ما دمت تعرف القيم قبل وبعد .

ارجو التوضيح مالذي تريد عمله بالضبط

#5

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

وشكرا مسبقا.

#6

السلام عليكم

ليس بالضرورة ان تستخدم ال trigger وانما ضع جملة التعديل قبل جملة التعديل الاصلية مع استخدام ال Transactions

مثل

INSERT INTO CONG (MAT,NBR_JOUR) VALUES (@RC,10)

update table1 set x= 1
#7

حسنا حسنا أخي. هل لديك تريقر يمنع مشكلة التزامن. أي تعديل البيانات في نفس السجل من طرف مستخدمين إثنين. أي لما يكون السجل في حالة تعديل من طرف مستخدم، لا يستطيع مستخدم آخر التعديل فيه بل تظهر له رسالة خطآ.

وشكرا مسبقا.

#8

لا اعرف لما الاصرار على Trigger .

مشكلة التزامن يمكن حلها من خلال استخدام Transaction واستخدام طريقة قفل مناسبة .

لذا ابحث عن Transaction في اللغة التي تستخدمها

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