oracle inside(8)
DBMS_OUTPUT包是一个可以用SQL*Plus将输出显示到屏幕上的包;UTL_FILE是一个服务器端的内置读写文
件包,可以在服务器端读写数据;TEXT_IO是一个客户端的读写包,可以在客户端读写数据。
8.1 DBMS_OUTPUT 程序包
利用SET SERVEROUTPUT ON 开启屏幕显示时,实际上是命令SQL*Plus 在每一条语句后检查缓冲区中的数
据,以取回并显示它。同时,DBMS_OUTPUT也可以用于两个PL/SQL 过程之间交换数据。
PL/SQL 高级编程
第 30 页 共 30 页
8.1.1 开启屏幕显示
1. 使用命令行:
SET SERVEROUTPUT ON; (Oracle 8.0 以前版本)
SET SERVEROUTPUT ON SIZE 20000; (Oracle 8.0 以后版本)
说明:上述语句隐含的调用了DBMS_OUTPUT.ENABLE,并为缓冲区分配了20000个字节的空间。
注意:使用DBMS_OUTPUT将数据发送到SQL*Plus 时,在所有数据都发送之前,不能开始读取数据!
2. 使用过程:
BEGIN
DBMS_OUTPUT.ENABLE(100000);
END;
8.1.2 关闭屏幕显示
1. 使用命令行:
SET SERVEROUTPUT OFF;
2. 使用过程:
BEGIN
DBMS_OUTPUT.DISABLE;
END;
8.1.3 其他函数
1) DBMS_OUTPUT.PUT_LINE(type);
2) DBMS_OUTPUT.PUT(type); -- 其中 type 可以是NUMBER、VARCHAR2、DATE数据类型。
3) DBMS_OUTPUT.GUT_LINE(line OUT VARCHAR2, status OUT INEGER);
4) DBMS_OUTPUT.GUT_LINES(line OUT VARCHAR2, numlines IN OUT INEGER);
件包,可以在服务器端读写数据;TEXT_IO是一个客户端的读写包,可以在客户端读写数据。
8.1 DBMS_OUTPUT 程序包
利用SET SERVEROUTPUT ON 开启屏幕显示时,实际上是命令SQL*Plus 在每一条语句后检查缓冲区中的数
据,以取回并显示它。同时,DBMS_OUTPUT也可以用于两个PL/SQL 过程之间交换数据。
PL/SQL 高级编程
第 30 页 共 30 页
8.1.1 开启屏幕显示
1. 使用命令行:
SET SERVEROUTPUT ON; (Oracle 8.0 以前版本)
SET SERVEROUTPUT ON SIZE 20000; (Oracle 8.0 以后版本)
说明:上述语句隐含的调用了DBMS_OUTPUT.ENABLE,并为缓冲区分配了20000个字节的空间。
注意:使用DBMS_OUTPUT将数据发送到SQL*Plus 时,在所有数据都发送之前,不能开始读取数据!
2. 使用过程:
BEGIN
DBMS_OUTPUT.ENABLE(100000);
END;
8.1.2 关闭屏幕显示
1. 使用命令行:
SET SERVEROUTPUT OFF;
2. 使用过程:
BEGIN
DBMS_OUTPUT.DISABLE;
END;
8.1.3 其他函数
1) DBMS_OUTPUT.PUT_LINE(type);
2) DBMS_OUTPUT.PUT(type); -- 其中 type 可以是NUMBER、VARCHAR2、DATE数据类型。
3) DBMS_OUTPUT.GUT_LINE(line OUT VARCHAR2, status OUT INEGER);
4) DBMS_OUTPUT.GUT_LINES(line OUT VARCHAR2, numlines IN OUT INEGER);