تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
معلومة --- القوادح Triggers
#1
كاتب الموضوع : BADRMEDIA


نظراً لأهمية القوادح سنتكلم عن كيفية استخدامها ببساطة دون تعقيد


أولاً ما هي Triggers ؟؟؟


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

وتستخدم القوادح أيضاً كشروط اضافية عندما لا تستطيع تكوين CONSTRAINT على جدول معين فتكون هى البديل لذلك والقوادح مثلها مثل الاجراءات المخزنة SP من حيث الديناميكية ولكن لها تخصص اكبر والمقصود بها الأوامر



متى تنفذ القوادح

تنفيذ عند تنفيذ الأمر المرتبطة به وهى ثلاث حالات

Delete : حيث تختص هذه الجمله بالحذف.
Update : حيث تختص هذه الجمله بالتعديل.
Insert : حيث تختص هذه الجمله بالإضافة.










}}}}
تم الشكر بواسطة:
#2
صيغة انشاء قادح Trigger



كود :
CREATE TRIGGER [TRIGGER NAME] ON [dbo].[Table Name]
FOR INSERT, UPDATE, DELETE
AS

TRIGGER NAME = اسم القادح المراد انشاءه

Table Name = اسم الجدول المطبق عليه القادح


مثال على تطبيق قادح على جدول عندما تعدل حقل معين لا يعدل


عندنا جدول اسمه : Class_Quant_Primary

به حقل رقمى اسمه Quant_UA


كتبت هذه القادح


كود :
CREATE TRIGGER [update_quant_prim] ON [dbo].[Class_Quant_Primary] for update as

if update (Quant_UA)

begin

print ('hello baby - u cant update !!!')

rollback transaction

end

شرح القادح اعطيت اسم للقادح

كتبت اسم الجدول المراد التنفيذ عليه

اخبرته انه عند القيام بتعديل على الحقل Quant_UA

يقوم باظهار رسالة تخبر المستخدم بعدم امكانية التعديل

وكتبت سطر التراجع عن التعديل



}}}}
تم الشكر بواسطة:
#3
هنقوم بتكوين قادح الان ليلغى الاضافة

على نفس الجدول السابق

نكتب هذا القادح



كود :
CREATE TRIGGER [insert_prim] ON [dbo].[Class_Quant_Primary] for insert as

begin

print ('hello baby - u cant insert!!!')
rollback transaction
end


كل ما فى الأمر أننا غيرنا الأمر القادح من Update إلى Insert
}}}}
تم الشكر بواسطة:
#4
وكذلك الأمر مع الحذف نغير الأمر فقط


هنقوم بتكوين قادح الان ليلغى الاضافة

على نفس الجدول السابق

نكتب هذا القادح




كود :
CREATE TRIGGER [Delete_prim] ON [dbo].[Class_Quant_Primary] for Delete as

begin

print ('hello baby - u cant Delete !!!')
rollback transaction
end
كل ما فى الأمر أننا غيرنا الأمر القادح من Insert إلى Delete


طبعاً لازم نغير سم القادح باسم مختلف مع كل قادح ننشأه



}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [SQL] القوادح و طريقة عملها و الفائدة منها ابو ليلى 2 259 30-05-16, 01:35 AM
آخر رد: الكاتب
  معلومة ---- Unicode ---------- RaggiTech 0 551 21-10-12, 07:00 PM
آخر رد: RaggiTech
  معلومة --- دالة coalesce --- RaggiTech 0 867 21-10-12, 06:49 PM
آخر رد: RaggiTech
  معلومة --- البحث الصوتي مع الدالة --- Difference & soundex --- مهم جداً RaggiTech 4 712 21-10-12, 05:51 PM
آخر رد: RaggiTech
  معلومة --- الأمر Truncate RaggiTech 0 425 21-10-12, 05:35 PM
آخر رد: RaggiTech
  معلومة --- اعلامك بريدياً بتوقف SQL Server خطيرة جداً RaggiTech 1 636 21-10-12, 05:16 PM
آخر رد: RaggiTech
  معلومة --- Word Count RaggiTech 1 392 21-10-12, 05:08 PM
آخر رد: RaggiTech
  معلومة --- Stored Procedure RaggiTech 3 818 21-10-12, 05:07 PM
آخر رد: RaggiTech
  معلومة --- SQL Server 2008 RaggiTech 0 380 21-10-12, 05:00 PM
آخر رد: RaggiTech
  معلومة --- Openrowset --- هامة للغاية RaggiTech 4 482 21-10-12, 04:53 PM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم