PDA

View Full Version : FOR - INSTEAD OF در تریگر



fakhravari
سه شنبه 31 اردیبهشت 1392, 12:19 عصر
با سلام
من اکثرا با AFTER کار میکنم کاربرد اون 2 تابع بالا چیست؟

hossein_h62
سه شنبه 31 اردیبهشت 1392, 12:54 عصر
سلام
عملکرد آرگومان FOR مثل AFTER هست، به این صورت که در هر دو اینها بعد از اجرای کامل و موفقیت آمیز DDL یا DML جدول یا ویو که باعث اجرای تریگر میشه دستورات بعد از FOR|AFTER اجرا خواهند شد.
ولی در مورد INSTEAD OF به این شکل هست که دستورات داخل تریگر جایگزین عملیات فراخواننده تریگر میشن و اون عملیات لغو میشه. بطور مثال تریگر زیر مانع از انجام هر گونه دستکاری داده در جدول مورد نظر میشه :
CREATE TRIGGER trg_stop
ON MyTable
INSTEAD OF INSERT, UPDATE, DELETE
AS

RAISERROR (' You can not any DML action on the MyTable!!! ', 16, 1);

GO