خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
Trigger ها در SQL Server
TRIGGER ها در SQL Server نوع خاصی از Stored Procedure است که هر زمان اتفاق خاصی در پایگاه داده رخ می دهد ، فراخوانی می شود. SQL Server هر زمان که TRIGGER ای فراخوانی شود از دو جدول مجازی INSERTED و DELETED استفاده می کند. این جدول برای capture داده های رکورد اصلاح شده قبل و بعد از وقوع جداول استفاده می شود. این جداول به عنوان جداول magic tables یا virtual tables هم شناخته می شوند.
اس کیو ال سرور سه نوع trigger را ارائه می دهد.
➊Data manipulation language (DML) triggers: که در پاسخ به رویدادهای INSERT ، UPDATE و DELETE در برابر جداول به طور خودکار فراخوانی می شوند. دو نوع DML Trigger وجود دارد:
➊ After Trigger (using FOR/AFTER CLAUSE): این نوع Trigger پس از اتمام اجرای عملیاتی که SQL Server با موفقیت انجام می دهد، فراخوانی و اجرا می شود.
➋ Instead of Trigger (using INSTEAD OF CLAUSE): این نوع Trigger قبل از اینکه اس کیو ال سرورعملیات خود را اجرا کند، فراخوانی و اجرا می شوند.
➋Data definition language (DDL) triggers: در پاسخ به دستورات CREATE ، ALTER و DROP اجرا می شود.
➌LOGON Trigger : در پاسخ به رویدادهای Logon می باشد.
Syntax ایجاد trigger بصورت زیر می باشد:
before | after: زمان اجرای trigger را مشخص می کند.
insert | update | delete: عملیات DML را مشخص می کند.
on [tablename]: نام جدول مرتبط با trigger را مشخص می کند.
[for each row]: یک row-level trigger را مشخص می کند. یعنی trigger برای هر رکورد اجرا می شود.
اس کیو ال سرور سه نوع trigger را ارائه می دهد.
➊Data manipulation language (DML) triggers: که در پاسخ به رویدادهای INSERT ، UPDATE و DELETE در برابر جداول به طور خودکار فراخوانی می شوند. دو نوع DML Trigger وجود دارد:
➊ After Trigger (using FOR/AFTER CLAUSE): این نوع Trigger پس از اتمام اجرای عملیاتی که SQL Server با موفقیت انجام می دهد، فراخوانی و اجرا می شود.
➋ Instead of Trigger (using INSTEAD OF CLAUSE): این نوع Trigger قبل از اینکه اس کیو ال سرورعملیات خود را اجرا کند، فراخوانی و اجرا می شوند.
➋Data definition language (DDL) triggers: در پاسخ به دستورات CREATE ، ALTER و DROP اجرا می شود.
➌LOGON Trigger : در پاسخ به رویدادهای Logon می باشد.
Syntax ایجاد trigger بصورت زیر می باشد:
create trigger [triggername]
[before | after]
{insert | update | delete}
on [tblname]
[for each row]
{-- sql statement }
before | after: زمان اجرای trigger را مشخص می کند.
insert | update | delete: عملیات DML را مشخص می کند.
on [tablename]: نام جدول مرتبط با trigger را مشخص می کند.
[for each row]: یک row-level trigger را مشخص می کند. یعنی trigger برای هر رکورد اجرا می شود.
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: