dbms_output系统包是为了在DM上兼容oracle的dbms_output系统包。提供将文本行写入内存、供以后提取和显示的功能。为用户从oracle移植应用提供方便,功能上与oracle基本一致。
12.1 相关方法
1.DBMS_OUTPUT. DISABLE
禁用DBMS_OUTPUT包。
语法如下:
DBMS_OUTPUT.DISABLE
举例说明
DBMS_OUTPUT. DISABLE(); --禁用DBMS_OUTPUT包
2.DBMS_OUTPUT. ENABLE
启用DBMS_OUTPUT包。
语法如下:
DBMS_OUTPUT.ENABLE (
buffer_size IN INT DEFAULT 20000
)
参数详解
- buffer_size
参数被忽略,只为兼容oracle语法。
举例说明
DBMS_OUTPUT. ENABLE(); --启用DBMS_OUTPUT包
3.DBMS_OUTPUT . PUT_LINE
输出字符串到缓冲区。如果设置(SET SERVEROUTPUT ON;)语句,可以打印出消息到客户端。
语法如下:
DBMS_OUTPUT.PUT_LINE(
STR IN VARCHAR
)
参数详解
- STR
VARCHAR类型。
4.DBMS_OUTPUT.GET_LINE
从缓冲区中读取一行信息。
语法如下:
DBMS_OUTPUT.GET_LINE(
LINE OUT VARCHAR,
STATUS OUT INT
)
参数详解
- LINE
缓冲区中的内容。
- STATUS
0或1。读取成功返回0,反之为1。
5.DBMS_OUTPUT.PUT
向行缓冲区中写入部分数据。
语法如下:
DBMS_OUTPUT.PUT(
ITEM IN VARCHAR2
)
参数详解
- ITEM
向行缓冲区中写入的内容。
6.DBMS_OUTPUT.NEW_LINE
向行缓冲区中放置一个行结束标记。
语法如下:
DBMS_OUTPUT.NEw_LINE()
12.2 举例说明
使用包内的过程和函数之前,如果还未创建过系统包。请先调用系统过程创建系统包。
SP_CREATE_SYSTEM_PACKAGES (1,'DBMS_OUTPUT');
SET SERVEROUTPUT ON; --dbms_output.put_line需要设置这条语句,才能打印出消息
例 放入内容到缓冲区,并从缓冲区中读出
--启用DBMS_OUTPUT包
DBMS_OUTPUT.ENABLE();
--使用put_line和get_line
declare
buffer varchar;
status int;
begin
dbms_output.put_line('达梦数据库有限公司');
dbms_output.get_line(buffer,status);
dbms_output.put_line('BUFFER:'||buffer||' status:'||status);
commit;
end;
--打印结果:BUFFER:达梦数据库有限公司 status:0