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

    입력

        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 프로시저를 사용하는 것이 좋다.

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