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

Create Trigger For Insert

بدأه mse07 في 9 مارس 2008 · 8 رد · 1,955 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

إذا كان لدي Table وأريد أن أنشيء Trigger بحيث إذا تم إضافة أي سجل إلى الجدول فإنه يقوم بتنفيذ حدث معين فكيف أقوم بذلك ?

على سبيل المثال هل استطيع إذا تم إضافة سجل إلى Table فانه يقوم بعمل Run لبرنامج exe ?

CREATE TRIGGER [TRIGGER NAME] ON [dbo].[AAAA] 

FOR INSERT 

AS
'execute nn.exe'

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

أرجو أن يكون السؤال واضح وشكرا.

#2

اعتقد نعم يمكنك ذلك من خلال الامر

sp_cmdshell

والاستخدام كما يلي

master..sp_cmdshell 'dir c:\'

او اي امر تريده

طبعا يجب ان يكون معك صلاحيات على السيرفر حتى تستطيع تنفيذ الامر

وفي SQL 2005 هذا الامر بحاجة الى تفعيل من خلال sp_configure

#3

معليش اخوي طارق ممكن تكتب مثال كامل لانه ليس لدي خلفيه في SQL Server

شكرا لك

#4

السلام عليكم

مثال لارسال ايميل

CREATE TRIGGER myTrigger ON mytable
after insert

AS --لا رسال  ايميل   لكن يجب  عليك  تعريف خادم البريد  من لوحة  تحكم الويندوز (او  ابحث  عن كيفية  ارسال ايميل )
EXEC master..xp_sendmail '12345@somedomnain', 'A record has been added  ' 

--او   تنفيذ  برنامج   
master..sp_cmdshell 'c:\prog.exe'
#5

السلام عليكم

احببت ان اضيف فقط لتشغيل الامرين في SQL 2005 يجب عليك تفعيلهم من خلال الاداة المساعدة

SQL Server Surface Area Configuration

كما في الصورة لكن اختر SQl mail & xp_cmdShell

post-112904-1205131611_thumb.jpg

#6

بارك الله فيك اخي طارق

نفذت الجمله التاليه :

CREATE TRIGGER [SS] ON [dbo].[MyTables] 
FOR INSERT
AS
master..sp_cmdshell 'c:\prog.exe'

لكن يعطيني رسالة خطا هل ممكن ان تفيدني

وشكرا لمساعدتك وناسف لازعاجك

#7

أخطأنا في الاسم حيث يجب ان يكون xp_cmdShell

CREATE TRIGGER [SS] ON [dbo].[MyTables]
FOR INSERT
AS
begin
exec master..xp_cmdshell 'c:\prog.exe'

end

Mytables المفروض ان يكون اسم جدول موجود

c:\prog.exe برنامج موجود

#8

ماهي طريقة تنفيذ Trigger لاني سويت انشاء هل الخطوة التالية close او هناك خطوات اخرى وشكرا.

#9

أخي الكريم ال Trigger يتنفذ تلقائيا عند ادخال قيمة جديد للجدول ولا يتم طلب بكود او غير ذلك

حتى تتأكد من التنفيذ جرب ادخال قيم للجدول

insert into MyTables values(1,2,3)

تم تعديل هذه المشاركة بواسطة walcom في 19 مارس 2008 في 13:18 — السبب: وضع الجملة بين علامتي [sql] و [/sql]

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