이번 프로젝트에 투입되면서
오라클 특히 프로시저 부분을 다시 만지게 되었다.
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, DB 공통' 카테고리의 다른 글
[Oracle] 인덱스 종류 그리고 인덱스를 이용하는 & 이용못하는 쿼리 (0) | 2024.10.30 |
---|---|
[Oracle] View에 대해서 알아보자 (1) | 2024.10.30 |
MySQL 에서 auto_increment 값 초기화 하기 (0) | 2015.02.22 |
MySQL 스토리지 엔진 (0) | 2015.01.13 |
MySQL 기본 함수 (0) | 2013.12.15 |