낚시하는 프로그래머

MSSQL 트리거(TRIGER) 사용의 장점 및 단점 사용방법 알아보기 

 

안녕하세요. MSSQL 데이터 베이스를 사용을 하면서 갑자기 한쪽 테이블에서 insert, update, delete 작업이 이루어 지면 한쪽의 테이블도 똑같이 변경이 이루어 져야 하는 작업을 해야 되었습니다.  쉽게 하는 방법을 찾다가 보니 그래도 제일 쉽게 적용을 할수 있는 방법이 트리거(TRIGER)를 사용하는 방법이 좋은선택이 될것 같아서 포스팅을 적게 되었습니다. 

 

 

 

MS SQL Server 의 트리거(Trigger)란?

 

SQL Server 에서 이벤트가 발생을 하면 자동적으로 방아쇠가 당겨져 총알이 발사가 되듯이 특정한 테이블에서 이벤트가 발생하게 되면 그내용이 다른 테이블에도 자동적으로 이벤트가 적용이 되어 자동으로 변경되도록 하기 위하여 트리거가 사용이 됩니다. 

 

 

트리거의 생성 및 사용방법

SSMS(SQL Sever Management Studio Studio) 에서 트리거 생성방법 

 

트리거가 필요한 테이블을 선택을 하게되면 다음과 같이 트리거가 나옵니다. 트리거를 선택을 합니다. 

 

 

마우스 오른쪽을 누르게 되면 새 트리거 가 나옵니다. 클릭을 하면 밑에 있는 기본적인 코드가 나오게 됩니다.

 

 

트리거(Trigger)를 생성을 하면 기본적으로 생성되는 트리거(Trigger) 양식

 

-- ================================================
-- Template generated from Template Explorer using:
-- Create Trigger (New Menu).SQL
--
-- Use the Specify Values for Template Parameters 
-- command (Ctrl-Shift-M) to fill in the parameter 
-- values below.
--
-- See additional Create Trigger templates for more
-- examples of different Trigger statements.
--
-- This block of comments will not be included in
-- the definition of the function.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE TRIGGER <Schema_Name, sysname, Schema_Name>.<Trigger_Name, sysname, Trigger_Name> 
   ON  <Schema_Name, sysname, Schema_Name>.<Table_Name, sysname, Table_Name> 
   AFTER <Data_Modification_Statements, , INSERT,DELETE,UPDATE>
AS 
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    -- Insert statements for trigger here

END
GO

 

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band