성공적으로 컴파일되었으니 다시 프로시저를 실행해 보자.
입력
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 프로시저를 사용하는 것이 좋다.