오라클 PL/SQL Nested Block 이란?

PL/SQL 에서 Nested Block (네스티드 블록)이란 코드안의 코드를 말합니다.

Nested Block 을 사용하는 이유는 하나의 메인 Block 안에 하나이상의 Block 들로 구성되어 있어 프로그래머가 더 쉽게 관리하고 Exeption 발생시 프로그램이 완전히 멈추는대신 계속 구동할수 있도록 합니다.

Nested Block의 구성

zz.png

다음은 Nested Block 의 예제입니다.

여기서 주의할점은 Child Block 안에 DECLARE 된 Variables 는 해당 Block에서만 사용가능하기 때문에 Parent Block에는 사용할 수 없습니다.

SET SERVEROUTPUT ON SIZE 1000000;
DECLARE
  n_emp_id EMPLOYEES.EMPLOYEE_ID%TYPE := &emp_id1;
BEGIN
  DECLARE
    n_emp_id employees.employee_id%TYPE := &emp_id2;
    v_name   employees.first_name%TYPE;
  BEGIN
    SELECT first_name
    INTO v_name
    FROM employees
    WHERE employee_id = n_emp_id;
 
    DBMS_OUTPUT.PUT_LINE('First name of employee ' || n_emp_id || 
                                       ' is ' || v_name);
    EXCEPTION
      WHEN no_data_found THEN
        DBMS_OUTPUT.PUT_LINE('Employee ' || n_emp_id || ' not found');
  END;
END;

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s