1. 프로시저의 개요
- 스토어드 Stored 프로시저 : 데이터베이스에 저장되어 수행됨
- 절차형 SQL을 활용하여 특정 기능을 수행하는 일종의 트랜잭션 언어
- 절차형 SQL : C, JAVA 등의 프로그래밍 언어와 같이 연속적인 실행이나, 분기, 반복 등의 제어가 가능한 SQL
- 트랜잭션 언어 : 데이터베이스를 조작하고 트랜잭션을 처리하는 언어, SQL과 TCL이 트랜잭션 언어에 속함
- 호출을 통해 실행되어 미리 저장해 놓은 SQL 작업을 수행
- 프로시저를 만들어 데이터베이스에 저장하면 여러 프로그램에서 호출하여 사용할 수 있음
- 시스템의 일일 마감 작업, 일괄 작업 등에 주로 사용
- 프로시저의 구성도
- DECLARE : 프로시저의 명칭, 변수, 인수, 데이터 타입을 정의하는 선언부
- BEGIN / END : 프로시저의 시작과 종료를 의미
- CONTROL : 조건문 또는 반복문이 삽입되어 순차적으로 처리
- SQL : DML, DCL이 삽입되어 데이터 관리를 위한 조회, 추가, 수정, 삭제 작업을 수행
- EXCEPTION : BEGIN ~ END 안의 구문 실행 시 예외가 발생하면 이를 처리하는 방법을 정의
- TRENSACTION : 수행된 데이터 작업들을 DB에 적용할지 취소할지를 결정하는 처리부
2. 프로시저 생성
- 명령어 : CREATE PROCEDURE
- 표기 형식
CREATE [OR REPLACE] PROCEDURE 프로시저명(파라미터) [지역변수 선언] BEGIN 프로시저 BODY; END; |
- OR REPLACE : 선택적인 Optional 예약어, 예약어를 사용하면 동일한 프로시저 이름이 이미 존재하는 경우, 기존의 프로시저를 대체할 수 있음
- 프로시저명 : 생성하려는 프로시저의 이름을 지정
- 파라미터 : 프로시저 파라미터로는 다음과 같은 것들이 올 수 있음
- IN : 호출 프로그램이 프로시저에 값을 전달할 때 지정
- OUT : 프로시저가 호출 프로그램에게 값을 반환할 때 지정
- INOUT : 호출 프로그램이 프로시저에게 값을 전달하고, 프로시저 실행 후 호출 프로그램에 값을 반환할 때 지정
- 매개변수명 : 호출 프로그램으로부터 전달받은 값을 저장할 변수의 이름을 지정
- 자료형 : 변수의 자료형을 지정
- 프로시저 BODY
- 프로시저의 코드를 기록하는 부분
- BEGIN에서 시작하여 END로 끝나며, BEGIN과 END 사이에는 적어도 하나의 SQL문이 있어야 함
3. 프로시저 실행
- 명령어 : EXEC (EXECUTE), CALL
- 표기 형식
EXECUTE 프로시저명;
EXEC 프로시저명;
CALL 프로시저명;
4. 프로시저 제거
- 명령어 : DROP PROCEDURE
- 표기 형식
DROP PROCEDURE 프로시저명;
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사 필기] SQL 활용 - 088. 사용자 정의 함수 (0) | 2025.02.16 |
---|---|
[정보처리기사 필기] SQL 활용 - 087. 트리거 Trigger (0) | 2025.02.16 |
[정보처리기사 필기] 물리 데이터베이스 설계 - 077. 데이터베이스 백업 (0) | 2025.02.16 |
[정보처리기사 필기] 물리 데이터베이스 설계 - 076. 데이터베이스 보안 - 접근통제 (0) | 2025.02.16 |
[정보처리기사 필기] 물리 데이터베이스 설계 - 075. 데이터베이스 보안 / 암호화 (0) | 2025.02.15 |