데이터베이스
Stored Procedure
개요
- SQL문의 집합
- 반복되는 작업을 효과적으로 실행할 수 있게한다.
- 어떤 동작을 일괄 처리하기 위한 용도로 사용된다.
- 편하게 운영할 수 있게 도와준다.
- 2가지 형태
- 입력 변수를 받고 값을 리턴
- 성공 실패 값을 리턴
초기 프로세싱
생성
-
파싱
- sysobject에 이름을 저장
- syscomments에 텍스트 저장
실행(처음 또는 재 컴파일시)
다음 프로세싱
캐시로부터 실행 계획이 검색됨
사용안되는 계획은 제거됨
저장 프로시저의 장점
- 어플리케이션 로직 공유
- 데이터베이스 스키마의 자세한 사항이 노출되지 않도록 보호
- 보안 메커니즘 제공
- 프로시저에 권한을 주고 테이블에 권한을 주지 않는 방식으로
- 성능 향상
- 네트웤 트래픽 감소
- 다수의 SQL문장 실행 대신 단일 프로시저를 이용해
용법
DELIMITER $$
END $$ DELIMITER ;
- 저장 프로시저를 묶어준다.
- create procedure 안에서도 ;가 종료문자임으로 헷갈리지 않게 위해서이다.
- 그래서 DELIMITER로 ;를 $$로 바꿈
- end가 끝나고나선 DELIMITER를 다시 ;로 바꿈