프로시저(Procedure)
- 프로시저는 SQL을 사용하여 작성한 일련의 작업을 저장해 두고 호출을 통해 원할 때마다 저장한 작업을 수행하도록 하는 절차형 SQL입니다.
- 데이터 베이스에 저장되어 수행되기 때문에 스토어드(Stored) 프로시저라고도 불립니다.
- 시스템의 일일 마감 작업, 일괄(Batch) 작업 등에 주로 사용합니다.
*절차형 SQL : 절차형 SQL은 C, JAVA등의 프로그래밍 언어와 같이 연속적인 실행이나, 분기, 반복 등의 제어가 가능한 SQL을 의미합니다.
◆프로시저의 구성도
데이터 → 프로시저 → 결과
[프로시저]
DECLARE(필수)
BEGIN(필수)
- CONTROL
- SQL
- EXCEPTION
- TRANSACTION
END(필수)
1. DECLARE : 프로시저의 명칭, 변수, 인수, 데이터 타입을 정의하는 선언부이다.
2. BEGIN/END : 프로시저의 시작과 종료를 의미한다.
3. CONTROL : 조건문 또는 반복문이 삽입되어 순차적으로 처리된다.
4. SQL : DML, DCL이 삽입되어 데이터 관리를 위한 조회, 추가, 수정, 삭제 작업을 수행한다.
5. EXCEPTION : BEGIN~END 안의 구문 실행 시 예외가 발생하면 이를 처리하는 방법을 정의한다.
6. TRANSACTION : 수행된 데이터 작업들을 DB에 적용할지 취소할지를 결정하는 처리부이다.
◇프로시저 생성
프로시저를 생성하기 위해서는 CREATE PROCEDURE 명령어를 사용한다.
<표기형식>
CREATE[OR REPLACE] PROCEDURE 프로시저명(파라미터)
[지역변수 선언]
BEGIN
프로시저 BODY
END;
*[OR REPLACE] : 선택적인(Optional) 예약어이다. 이 예약어를 사용하면 동일한 프로시저 이름이 이미 존재하는 경우, 기존의 프로시저를 대체할 수 있다.
*프로시저명 : 생성하려는 프로시저의 이름을 지정한다.
*파라미터 : 프로시저 파라미터로는 IN, OUT, INOUT, 매개변수명, 자료형과 같은 것들이 올 수 있다.
*프로시저 BODY : 프로시저의 코드를 기록하는 부분이다. BEGIN에서 시작하여 END로 끝나며, BEGIN과 END 사이에는 적어도 하나의 SQL문이 있어야 한다.
◇프로시저 실행
프로시저를 실행하기 위해서는 EXECUTE 명령어 또는 CALL 명령어를 사용하며, EXECUTE 명령어를 줄여서 EXEC로 사용하기도 한다.
<표기형식>
EXECUTE 프로시저명;
EXEC 프로시저명;
CALL 프로시저명;
◇프로시저 제거
프로시저를 제거하기 위해서는 DROP PROCEDURE 명령어를 사용합니다.
<표기형식>
DROP PROCEDURE 프로시저명;
'공부 및 교육 > 정보처리기사 실기 이론' 카테고리의 다른 글
SQL 기본 용어 정리 (0) | 2023.02.27 |
---|---|
트리거(TRIGGER)- 트리거의 구성도, 트리거 표기형식, 트리거 삭제 (0) | 2023.02.26 |
SQL - DDL (0) | 2023.02.25 |
8장 SQL 응용 - 1. SQL : DDL (0) | 2022.08.09 |
10장 프로그래밍 언어 활용 - 1. 데이터 입출력(C언어, Java, 헝가리안 표기법) (0) | 2022.07.28 |
댓글