该DBMS_OUTPUT包使您可以发送存储过程,包信息,并触发。该封装是专为展示的PL / SQL调试的有用信息。
使用例子1:
DECLARE
yhzh VARCHAR2(19);
CURSOR c1 IS SELECT * FROM DM_NH_JBXX D WHERE D.DM_XZQH LIKE '410602010101%';
nh c1%ROWTYPE;
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO nh;
EXIT WHEN c1%notfound;
SELECT '95599'||LPAD(TO_CHAR(round(dbms_random.value(1000, 99999999999999))),14,'0') INTO yhzh FROM DUAL;
--DBMS_OUTPUT.put_line(yhzh);
--DBMS_OUTPUT.put_line(nh.NHBH);
UPDATE DM_NH_JBXX X SET X.DM_YHLB='02',X.YHZH=yhzh WHERE X.NHBH=nh.NHBH;
END LOOP;
CLOSE c1;
END;
使用例子2:
SELECT COUNT(1) INTO V_BTSXCOUNT FROM dm_sx_btxm WHERE dm_btxm = VI_DM_BTXM AND dm_sx_btxm = VI_DM_SX_BTXM;
IF V_BTSXCOUNT<1 THEN
dbms_output.put_line('没有补贴项目属性!');
RETURN '';
END IF;
作用:用于输入和输出信息,使用过程PUT和PUT_LINES可以将信息发送到缓冲区,使用过程GET_LINE和GET_LINES可以显示缓冲区信息.
详细如下:
1.enable
该过程用于激活对过程PUT,PUT_LINE,GET_LINE,GET_LINES的调用
语法如下:
dbms_output.enable(buffer_size in integer default 20000);
2.disable
该过程用于禁止对过程PUT,PUT_LINE,GET_LINE,GET_LINES的调用
语法如下:
dbms_output.disable;
3.put和put_line
过程put_line用于将一个完整行的信息写入到缓冲区中,过程put则用地分块建立行信息, 当使用过程put_line时,会自动在行的尾部追加行结束符;当使用过程put时,需要使用过程 new_line追加行结束符.
示例如下:
set serverout on
begin
dbms_output.put_line('伟大的中华民族');
dbms_output.put('中国');
dbms_output.put(',伟大的祖国');
dbms_output.new_line;
end;
/
伟大的中华民族
中国,伟大的祖国
4.new_line
该过程用于在行的尾部追加行结束符.当使用过程PUT时,必须调用NEW_LINE过程来结束行.
5.get_line和get_lines
过程get_line用于取得缓冲区的单行信息,过程get_lines用于取得缓冲区的多行信息.