[ORACLE] PL/SQL - 중첩익명블럭구조

privatekim·2024년 7월 13일
0

ORACLE

목록 보기
34/38

익명블럭구조를 중첩 포문처럼 사용할 수 있다.

DECLARE
	... -- 변수 A
BEGIN
	... -- 실행내용 (변수 A 사용가능)
    DECALRE
    	... -- 변수 B
    BEGIN
    	... -- 실행 내용(변수 A,B 사용가능)
    END;
    ... -- 실행내용 (변수 A 사용가능)
END;
/
  • 주로 외부에서 사용된 변수를 바탕으로 프로세스를 진행해야 하거나,
  • 예외처리 이후 필요한 프로세스를 진행할 때 사용될 수 있다.

레이블 처리

각 익명블록구조 별로 레이블처리를 하면 필요한 변수를 직접 지정하여 사용할 수 있다.
<<>>를 사용해 레이블을 지정할 수 있고 지정한 레이블의 이름을 통해 해당 레이블에서의 정보를 직접 가져올 수 있다.
단, 변수의 범위에 대해 주의하여 사용해야 한다.

<<a>>
DECLARE
	v_name varchar2(30);
    v_name := a;
BEGIN
	dbms_output.put_line(v_name); -- a
	<<b>
    DECLARE
    	v_name varchar2(30);
        v_name := b;
    BEGIN
    	dbms_output.put_line(v_name); -- b
        dbms_output.put_line(a.v_name); -- a
    END;
    dbms_output.put_line(v_name); -- a
    dbms_output.put_line(b.v_name); -- error
END;
/

0개의 댓글