저장프로시저(Stored Procedure), 트리거(Trigger)
ETC./study

저장프로시저(Stored Procedure), 트리거(Trigger)

뉴비뉴 2018. 10. 22.

저장프로시저(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

댓글

💲 추천 글