트리거

2014.03.17 13:01

소울 조회 수:6326

트리거

테이블이나 뷰에 부착되는 프로그램 코드
(실행시키는 구문자체가 없음)

 

ex )

CREATE TRIGGER testTrg  -- 트리거 이름
ON testTbl -- 트리거를 부착할 테이블
AFTER  DELETE, UPDATE  -- 삭제,수정후에 작동하도록 지정
AS
 PRINT(N'트리거가 작동했습니다') ; -- 트리거 실행시 작동되는 코드들

 

after 는 뒤에 구문이 왔을때 as 다음꺼를 실행

 

 

중요한 테이블인경우 트리거로 경고~~!!

 

 

* ddl 트리거
생성.삭제.변경에서 디비나 서버단에 적용

ex)ddl 트리거
생성.삭제.변경에서 디비나 서버단에 적용
--------------------------------------------------
CREATE TRIGGER ddlTrg_sqlDB
 ON DATABASE
 AFTER DROP_TABLE, ALTER_TABLE
AS
 PRINT ' 경고: 테이블을 건드리지 마세요!!! '
 ROLLBACK TRANSACTION;
--------------------------------------------------
데이터베이스에 트리거 검

 

 

--------------------------------------------------
ALTER TRIGGER ddlTrg_sqlDB
 ON DATABASE
 AFTER DDL_TABLE_VIEW_EVENTS
AS
 PRINT ' 경고: 모든 테이블/뷰/인덱스/통계에 대한 생성,변경,삭제는 금지되었습니다.'
 ROLLBACK TRANSACTION;
--------------------------------------------------

 

--------------------------------------------------
CREATE TRIGGER ddlTrg_server
 ON ALL SERVER
 AFTER CREATE_DATABASE, ALTER_DATABASE, DROP_DATABASE
AS
 PRINT ' 경고: 데이터베이스 관련된 작업은 관리자에게 문의하세요.'
 ROLLBACK TRANSACTION;
--------------------------------------------------

 

//////////////////////////////////////////

트리거  DISABLE / ENABLE

DISABLE TRIGGER ddlTrg_sqlDB ON DATABASE;


ENABLE TRIGGER ddlTrg_sqlDB ON DATABASE;