더북(TheBook)

성공적으로 컴파일되었으니 다시 프로시저를 실행해 보자.

입력

    BEGIN
      ch17_src_test_pkg.sales_detail_prc ( ps_month => '200112',
                                           pn_amt   => 10000,
                                           pn_rate  => 1 );
    END;

결과

    --------------<변수값 출력>---------------------
    ps_month : 200112
    pn_amt : 10000
    pn_rate : 1
    ------------------------------------------------
    DELETE 건수 : 22698
    INSERT 건수 : 22698
    UPDATE 건수 : 0
    여기서의 값은???? : 0

맨 마지막의 “여기서의 값은????”이 0인 이유는 COMMIT 후에 SQL%ROWCOUNT를 이용해 값을 출력했기 때문이다. 이런 식으로 원하는 값은 언제나 출력할 수 있는 것이 DBMS_OUTPUT.PUT_LINE 프로시저다.

DBMS_OUTPUT.PUT_LINE 프로시저를 사용할 때 주의할 사항은, 한 번에 출력할 수 있는 한계 값이 32KB라는 점이다. 즉 PUT_LINE 프로시저의 매개변수의 크기 제한이 32KB(32,767 바이트)라는 것인데, 이는 13장에서 배웠듯이 VARCHAR2의 최대 크기며 PUT_LINE 프로시저의 매개변수 타입도 VARCHAR2 타입이기 때문이다. 따라서 32KB 이상 크기의 문자열을 출력할 필요가 있다면 출력할 문자열을 나눠서 여러 번에 걸쳐 DBMS_OUTPUT.PUT_LINE 프로시저를 사용하는 것이 좋다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.