반응형
1. 프로시저 개요
절차형 SQL을 활용해 특정 기능을 수행하는 일종의 트랜잭션 언어로, 호출을 통해 실행되어 미리 저장해 놓은 SQL 작업을 수행한다.
cf) 절차형 SQL : DB에서 연속적인 실행, 분기, 반복 등의 제어가 가능한 SQL
- 프로시저를 만들어 DB에 저장하면 여러 프로그램에서 호출하여 사용할 수 있다.
- 프로시저는 DB에 저장되어 수행되기 때문에 Stored Procedure라고 부른다.
- 프로시저는 시스템의 일일 마감 작업, 일괄 작업 등에 주로 사용된다.
프로시저 구성도
- DECLARE : 프로시저의 명칭, 변수, 인수, 데이터 타입을 정의하는 선언부
- BEGIN/END : 프로시저의 시작과 종료를 의미
- CONTROL : 조건문 또는 반복문이 삽입되어 순차적으로 처리
- SQL : DML, DCL이 삽입되어 데이터 관리를 위한 조회/추가/수정/삭제 작업 수행
- EXCEPTION : BEGIN ~ END 안의 구문 실행 시 예외 처리 방법 정의
- TRANSACTION : 수행된 데이터 작업들을 DB에 적용할지, 취소할지 결정하는 처리부
2. 프로시저 생성
프로시저를 생성하기 위해서는 CREATE PROCEDURE 명령어를 사용한다.
CREATE [OR REPLACE] PROCEDURE 프로시저명(파라미터)
[지역변수 선언]
BEGIN
프로시저 BODY;
END;
- CREATE PROCEDURE : 프로시저 생성 명령어
- OR REPLACE : 동일한 이름의 프로시저가 이미 있는 경우, 기존 프로시저를 대체하는 옵션 명령어
- 프로시저명 : 생성하려는 프로시저의 이름 지정
- 파라미터
- IN : 호출 프로그램이 프로시저에게 값을 전달할 때 지정
- OUT : 프로시저가 호출 프로그램에게 값을 반환할 때 지정
- INOUT : 호출 프로그램이 프로시저에게 값을 전달하고, 프로시저 실행 후 호출 프로그램에게 값을 반환할 때 저장
- 매개변수명 : 호출 프로그램으로부터 전달받은 값을 저장할 변수의 이름 지정
- 프로시저 BODY : 프로시저의 코드를 기록하는 부분, BEGIN과 END 사이에 하나 이상의 SQL문이 있어야 함
3. 프로시저 실행
프로시저를 실행하기 위해서는 execute 명령어 또는 call 명령어를 사용하며
execute 명렁어를 줄여서 exec로 사용하기도 한다.
//프로시저 실행을 위한 명령어
EXECUTE 프로시저명;
EXEC 프로시저명;
CALL 프로시저명;
4. 프로시저 제거
프로시저를 제거하기 위해서는 drop procedure 명령어를 사용한다.
//프로시저를 제거하기 위한 명령어
DROP PROCEDURE 프로시저명;
반응형
'자격증 > 정보처리필기' 카테고리의 다른 글
[정보처리산업기사] 86강 쿼리 성능 최적화 (0) | 2022.04.01 |
---|---|
[정보처리산업기사] 84강 절차형 SQL (0) | 2022.04.01 |
[정보처리산업기사] 83강 DML - JOIN (0) | 2022.04.01 |
[정보처리산업기사] 82강 SELECT - 2 (0) | 2022.04.01 |
[정보처리산업기사] 81강 SELECT - 1 (0) | 2022.04.01 |