본문으로 바로가기

[Database] 프로시저와 트리거 차이점

category Database/MSSQL 2017. 2. 28. 15:11

프로시저 vs 트리거


프로시저

저장 프로시저는 미리 데이터베이스 서버에 일련의 SQL 명령을 해 놓고, 프로시저를 실행하여 SQL 명령을 간단하게 실행할 수 있도록 할 수 있다. 프로시저 안에는 SQL 문장 뿐 아니라 if문 while문 등의 제어 명령이나 반복 명령을 기술할 수 있기 때문에 일종의 프로그램도 만들 수 있다.


트리거

트리거는 테이블에 작성한다. 어떤 테이블에 행을 삽입한다든지, 행을 변경, 삭제했을 때에 트리거가 설정되어 있으면, 트리거의 SQL 문장이 자동으로 실행 된다.


이 기능을 사용하면 데이터의 추가, 삭제, 변경과 함께 관계하는 테이블을 조작하여 데이터베이스로서 모순이 없는 상태를 자동적으로 생성할 수 있다.


 프로시저

트리거 

CREATE PROCEDURE 문법사용 

CREATE TRIGGER 문법사용 

생성하면 소스코드와 실행코드가 생성됨 

생성하면 소스코드와 실행코드가 생성됨 

EXECUTE 명령어로 실행 

생성 후 자동실행 

COMMIT,ROLLBACK 실행가능 

COMMIT, ROLLBACK 실행 불가 


'Database > MSSQL' 카테고리의 다른 글

[MSSQL] 기간을 기간으로 조회  (0) 2021.08.23
[MSSQL] SET XACT_ABORT 정의  (0) 2021.02.02
[MSSQL] SET NOCOUNT 정의  (0) 2021.02.02
[MSSQL] 문자열 함수 STR  (0) 2020.01.09
[MSSQL] DB 로그 파일 축소하기  (0) 2017.10.13