一、DBMS_OUTPUT的用途
1、调试代码,输出变量和表达式的值。
2、调试代码,输出动态SQL拼接的语句,再运行输出的语句进行调试。
3、生成报表等功能。
二、启用和停用DBMS_OUTPUT功能
1、set serveroutput on,启用DBMS_OUTPUT。
2、set serveroutput off,停用DBMS_OUTPUT。
三、设置DBMS_OUTPUT缓冲区大小
1、默认值是20000字节
2、设置本作用范围使用 DBMS_OUTPUT.ENABLE(【新的缓冲区大小】)。
3、设置本会话范围使用 set serveroutput on size 【新的缓冲区大小】。
四、DBMS_OUTPUT参考
名称 | 类型 | 参数列表 | 参数描述 | 功能描述 |
DBMS_OUTPUT.CHARARR | TYPE | 作为GET_LINES的参数lines的类型。 | ||
DBMS_OUTPUT.ENABLE | PROCEDURE |
buffer_size IN INTEGER DEFAULT |
buffer_size:缓冲区大小,不输取默认值20000 | 在当前作用域启用DBMS_OUTPUT,并可修改缓冲区大小。 |
DBMS_OUTPUT.DISABLE | PROCEDURE | 无 | 在当前作用域停用DBMS_OUTPUT。 | |
DBMS_OUTPUT.PUT | PROCEDURE | line IN VARCHAR2 | line:要输出的文本 | 向缓冲区输入文本,不输出。 |
DBMS_OUTPUT.PUT_LINE | PROCEDURE | line IN VARCHAR2 | line:要输出的文本 | 向缓冲区输入文本和一个换行符,将缓冲区中的所有文本输出,之后清空换行符。 |
DBMS_OUTPUT.NEW_LINE | PROCEDURE | 无 | 向缓冲区一个换行符,将缓冲区中的所有文本输出,之后清空换行符。 | |
DBMS_OUTPUT.GET_LINE | PROCEDURE |
line OUT VARCHAR2, status OUT INTEGER |
line:接收文本,不包含换行符参数 status:0=调用成功,1=没有更多行 | 将缓冲区中的第一行文本提取到line,并将缓冲区清空。 |
DBMS_OUTPUT.GET_LINES | PROCEDURE | lines OUT CHARARR,
numlines IN OUT INTEGER
|
lines:接收多行文本的数组 numlines:输入是要获取行的数量,如果输入和输出一致,则调用成功。否则没有更多行 |
将缓冲区中从第一行开始的numlines行文本提取到lines,并将缓冲区清空。 |