본문 바로가기

프로그래밍&IT/MySQL & Oracle

PL/SQL 블록 구조

이번 프로젝트에 투입되면서

오라클 특히 프로시저 부분을 다시 만지게 되었다.

 

Stored Procedure

자주 실행해야 하는 업무 흐름을 미리 Database에 저장해 두고 필요할 때마다 호출해 실행

<예전(한 10년전?)에 들었을 때는,

속도나 관리쪽 측면에서 프로시저 기반으로 시스템을  구축한다고 들었는데

요즘은 다르다고 들은 것 같다...>

기본적인 Procedure의 block 구조

CREATE [OR REPLACE] PROCEDURE 프로시저_이름
(
    변수 1 [MODE (IN/OUT) ] data-type 1 ,
    ...
    변수 n [MODE (IN/OUT) ] data-type n
)
IS
	[사용할 변수 선언부]
BEGIN
	로직 처리/실행
[EXCEPTION]
	[예외 처리부]
END;

1. CREATE OR REPLACE PROCEDURE 프로시져_이름

- 프로시저 선언부

보통은 [OR REPLACE] 부분을 붙이고 한다.

 

2. 프로시저의 [IN / OUT] 변수 선언

프로시저의 Input / Output 변수의 선언.

Input이면 프로시저 호출 시 들어오는 값의 변수.

Output이면 프로시저 수행 후 반환되는 값의 변수

 

3 로직 처리할 때 사용할 변수 선언부

특정 테이블의 row count를 저장하거나 할 때 사용할

지역변수 선언 부분.

 

4. BEGIN ~ END;

실제로 수행할 로직

 

5. [EXCEPTION] : 예외처리 부분

 

'프로그래밍&IT > MySQL & Oracle' 카테고리의 다른 글

MySQL 에서 auto_increment 값 초기화 하기  (0) 2015.02.22
MySQL 스토리지 엔진  (0) 2015.01.13
MySQL 기본 함수  (0) 2013.12.15