# PL/SQL 기본구조
<블록>
이름부
IS(AS)
선언부
BEGIN
실행부
EXCEPTION
예외 처리부
END;
# 제어문
<IF 문>
IF 조건1 THEN
조건처리1;
ELSE IF 조건2 THEN
조건처리2;
ELSE
조건처리n;
END IF;
<LOOP문>
LOOP
처리문;
EXIT [WHEN 조건];
END LOOP;
<WHILE문>
WHILE 조건
LOOP
처리문;
END LOOP;
<FOR문>
FOR i IN [REVERSE] 1..9
LOOP
처리문;
END LOOP;
<CONTINUE>
FOR i IN 1..9
LOOP
CONTINUE WHEN i=5;
DBMS_OUTPUT.PUT_LINE(i);
END LOOP;
# 사용자 정의 함수
<함수>
CREATE OR REPLACE FUNCTION 함수 이름 (매개변수1, 매개변수2, ...)
RETURN 데이터타입;
IS[AS]
변수, 상수 등 선언
BEGIN
실행부
RETURN 반환값;
[EXCEPTION
예외 처리부]
END [함수 이름];
<프로시저>
CREATE OR REPLACE PROCEDURE 프로시저 이름
(매개변수1 [IN | OUT | IN OUT] 데이터타입 [:= 디폴트 값],
매개변수2 [IN | OUT | IN OUT] 데이터타입 [:= 디폴트 값],
...
)
IS[AS]
변수, 상수 등 선언
BEGIN
실행부
[EXCEPTION
예외 처리부]
END [프로시저 이름];
*변수, 상수, 매개변수 명명법
- 변수: vn_goods_cnt, vc_ord_no
- 상수: cn_max_ord_psbt_cnt
- 매개변수: pn_ord_cqty, pc_cust_no
'Oracle' 카테고리의 다른 글
[오라클SQL과PLSQL을다루는기술]11. 커서, 레코드, 컬렉션 (0) | 2020.07.18 |
---|---|
[오라클SQL과PLSQL을다루는기술] 10. PL/SQL 예외처리와 트랜잭션 (0) | 2020.07.11 |
[오라클SQL과PLSQL을다루는기술]6. 조인과 서브쿼리 (0) | 2020.05.09 |
[오라클SQL과PLSQL을다루는기술]5. 그룹 쿼리와 집합 연산자 (0) | 2020.05.09 |
[오라클SQL과PLSQL을다루는기술]4. SQL 함수 (0) | 2020.05.08 |