2015년 3월 5일 목요일

#110. PL/SQL강좌, 동적SQL(Dynamic SQL),컴파일 타임에 존재하지 않는 데이터베이스 객체를 참조하는 경우,PLSQL교육



7.1.3 컴파일 타임에 존재하지 않는 데이터베이스 객체를 참조하는 경우


CREATE OR REPLACE PROCEDURE dynamictname(
       month VARCHAR2,
       year VARCHAR2) IS
    TYPE cur_type IS REF CURSOR;
    c cur_type;
    query_str VARCHAR2(200);
    v_gcode NUMBER;
    v_saleamt NUMBER;
BEGIN
    query_str := 'SELECT gcode, saleamt FROM sale_' || month ||'_'|| year
      || ' WHERE gcode = :gcode';
    OPEN c FOR query_str USING 9933;
    LOOP
        FETCH c INTO v_gcode, v_saleamt;
        EXIT WHEN c%NOTFOUND;
        -- 비지니스 로직 처리는 여기에서
    END LOOP;
    CLOSE c;
END;
/

댓글 없음:

댓글 쓰기