728x90
1. 저장 프로시저란?
- 일련의 작업 절차를 정리해서 저장한 것
- 여러 SQL문을 묶어서 미리 정의해 두고 하나의 요청으로 실행할 수 있음
- 자주 사용되는 복잡한 작업들을 간단하게 실행 할 수 있음
- Application에서 직접 모든 작업을 요청하지 않아도 되기 때문에 부하가 줄어들고 보안이 향상됨
- 검증되지 않은 저장 프로시저를 실행하는 것은 매우 위험함
- MySQL은 5.0버전부터 사용 가능
2. 저장 프로시저 사용
2-1. 저장 프로시저 만들기
BEGIN에서 END까지가 저장 프로시저의 본체이다.
시작 부분에 BEGIN, 끝 부분에 END를 붙여 저장 프로시저의 명령 범위를 명확히 하고 있다.
구분 문자(;) 변경하기
명령문이 완성되지 않은 상태에서 실행되는 부분을 막기 위해 저장 프로시저에서 END를 입력하고 나서 CREATE PROCEDURE 명령이 실행되도록 환경을 변경해야 한다.
그러러면 저장 프로시저를 작성하기 전에 구분 문자를 ‘;'이 아닌 다른 문자로 변경해 두는데, 일반적으로 '//’를 사용한다.
구분 문자를 ‘//’로 변경할 때는 DELIMITER명령을 사용한다.
구분 문자를 //으로 변경해 두면 저장 프로시저를 작성하는 도중에 ‘;'을 입력해도 문제 없고, END 뒤에 ‘//’을 입력하면 CREATE PROCEDURE명령이 실행된다. 물론, 저장 프로시저를 모두 작성했으면 ‘DELIMITER;’로 구분 문자를 원래대로 되돌려 놓는다.
2-2. 저장 프로시저 실행하기
‘CALL’ 이라는 명령을 사용해서 저장 프로시저를 실행한다.
2-3. 설정한 값 이상인 레코드만 표시하는 저장 프로시저 만들기
처리하고자 하는 데이터를 괄호()안에 대입해서 저장 프로시저를 실행한다.
2-4. 저장 프로시저 삭제하기
DROP 명령을 사용하여 저장 프로시저를 삭제한다.
728x90
'개발 > MySql' 카테고리의 다른 글
Trigger (트리거) (0) | 2022.04.15 |
---|---|
저장 함수(Stored Function) (0) | 2022.04.15 |
쿼리 작성 및 최적화 (0) | 2022.04.13 |
파티션(Partition) (0) | 2022.04.12 |
장애 처리 (0) | 2022.04.11 |
댓글