DROP TRIGGER [트리거명] -- 트리거 삭제
CREATE TRIGGER [트리거명] ON [테이블명]
AFTER INSERT,UPDATE,DELETE -- FOR INSERT,UPDATE,DELETE 와 같음
AS
BEGIN
DECLARE @action char(1) -- 구분자 변수선언
DECLARE @test nvarchar(20) -- 셀렉트한 데이터 저장용 변수 선언
IF COLUMNS_UPDATED() > 0 -- insert or update
BEGIN
IF EXISTS (SELECT * FROM DELETED) -- update
SET @action = 'U'
ELSE
SET @action = 'I'
END
ELSE -- delete
BEGIN
SET @action = 'D'
END
SELECT Name,@action FROM DELETED;
-- 변수에 값넣기 - 첫번째. 데이터 주입
SELECT @test = 0
-- 변수에 값넣기 - 두번째. 타 테이블에서 불러오기
SELECT @test = col1 FROM table1
-- 변수에 값넣기 - 세번째. INSERT 혹은 UPDATE 한 데이터에서 가져오기
SELECT @test = col2
FROM inserted
-- IF문
IF @test = 0 BEGIN -- IF 조건이 참일때
SELECT 1 -- 조건 걸어넣고 쿼리문 없으면 에러나므로 방지용
END ELSE IF @test > 0 AND @test < 10 BEGIN -- ELSE IF 조건이 참일때
SELECT 1
END ELSE BEGIN -- ELSE 일때
SELECT 1
END
-- null 비교
-- @test is null, @test is not null
END
참고: http://rocabilly.tistory.com/48
'DB > MSSQL' 카테고리의 다른 글
SQL Server에서 지도의 위도, 경도 저장 및 초간단 사용법 정리 (1) | 2024.09.05 |
---|---|
트리거 소스보기 (0) | 2016.10.31 |
테이블 명세서 쿼리문 (0) | 2014.09.23 |
0을 나누기 에러 대신 null 반환되도록 하기 (0) | 2014.09.19 |
숫자 앞에 0으로 채우기 (0) | 2014.09.04 |