اگر نیاز داشته باشید همزمان با ورود اطلاعات ، حذف اطلاعات ، ویرایش رکوردها در جدول ، اتفاق خاصی رخ دهد از تریگر (Trigger) استفاده می کنیم .
در Sql Server های 2005 به بالا اگر روی + هر یک از جداول کلیک کنید با بخشی به نام Triggers مواجه می شوید.
با کلیک راست بر روی Triggers و انتخاب Nwe Trigger پنجره ای باز خواهد شد و به صورت پیش فرض بدنه ی Trigger را به صورت آماده برای شما نمایش می دهد و شما می توانید این بدنه را تغییر دهید و ویرایش نمایید:
برای مثال فرض کنید جدول زیر را داریم:
CREATE TABLE [dbo].[tblBlackList]( [ID] [int] IDENTITY(1,1) NOT NULL, [Phone] [varchar](50) NOT NULL, [IsOrginal] [int] NOT NULL, [Date] [datetime2](7) NOT NULL, [Type] [int] NOT NULL, CONSTRAINT [PK_tblBlackList] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
فرض کنید در هنگام ورود اطلاعات به جدول فوق نیاز داریم اگر phone آن 09365223330 بود آن را به 09104985356 تغییر دهیم .
برای این کار تریگر زیر را بر روی جدول فوق ایجاد می نماییم :
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: -- Create date: <1396 08 27> -- Description: -- ============================================= CREATE TRIGGER RechangeNumber ON [dbo].[tblBlackList] AFTER insert AS declare @phone as varchar(50); BEGIN select @phone=phone from inserted if(@phone='09365223330') begin update [dbo].[tblBlackList] set phone ='09104985356' where phone ='09365223330' end
END GO
|