저장프로시저(Stored Procedure) 개념
- 저장 프로시저란 SQL Server에서 제공되는 프로그래밍 기능
- 저장 프로시저는 쿼리문의 집합으로 어떠한 동작을 일괄 처리하기 위한 용도로 사용
특징
- SQL Server의 성능을 향상 시킬 수 있다.
* 동일한 저장 프로시저가 자주 사용될 경우에는 일반 쿼리를 반복해서 실행하는 것보다 SQL Server의 성능이 크게 향상될 수 있다.
- 모듈식 프로그래밍이 가능하다.
* 저장프로시저를 생성해 놓으면, 언제든지 실행이 가능하다.
- 보안을 강화할 수 있다.
* 사용자 별로 테이블에 접근 권한을 주지 않고, 저장 프로시저에 접근 권한을 줌으로써 좀 더 보안을 강화한다.
- 네트워크 전송량을 감소시킨다.
* 저장 프로시저 이름 및 매개변수 등 몇 글자의 텍스트만 전송하면 되므로 네트워크의 부하를 줄일 수 있다.
시스템 저장프로시저
- 시스템을 관리하기 위해서 SQL Server 가 제공해주는 저장 프로시저로, SQL Server의 관리와 관련된 작업을 위해서 주로 사용
- 주로 'sp_' 접두어로 작성되어 있다. 그러므로, 사용자가 생성한 프로시저는 'sp_' 접두어를 사용하지 않아야 시스템 저장 프로시저와
혼란을 방지할 수 있다.
트리거(Trigger) 개념
- 트리거는 저장 프로시저로 실행할 수 없는 사항을 해결해주는 것으로 테이블이 insert, update, delete 될 때 발생하는 이벤트
- 문법이 프로시저를 사용하는 것과 거의 비슷
- 트리거의 주된 역할은 데이터의 무결성 유지
- 저장 프로시저와의 차이점은 트리거는 자동실행(수동으로 실행될 수 없음)
<사용 예>
신입 사원이 들어오면 급여 테이블에 신입 사원의 급여 정보를 자동으로 생성하고 싶을 경우 사원 테이블에 트리거를 설정하여 구현
* INSERTED 와 DELETED 테이블은 물리적으로 존재하는 테이블이 아니다.
* 특정 테이블의 데이터에 변경이 가해졌을 때 트리거를 위해 자동으로 만들어지는 논리적인 가상의 테이블
* INSERTED 테이블은 테이블에 새로운 데이터가 INSERT 될 때, DELETED 테이블은 테이블의 데이터가 DELETE될 때 만들어진다.
보충자료 : https://docs.microsoft.com/ko-kr/sql/relational-databases/triggers/use-the-inserted-and-deleted-tables?view=sql-server-2017
'ETC. > study' 카테고리의 다른 글
| CS(Client Server) 환경이란 (0) | 2018.11.14 |
|---|---|
| 자바 JAR File 이란? (0) | 2018.11.14 |
| 데이터베이스 스키마 (0) | 2018.09.21 |
| 웹 서버, 웹 컨테이너, 웹 어플리케이션 서버(WAS) (0) | 2018.09.20 |
| API (0) | 2018.09.20 |
댓글