1、如果dbms_output.put_line的内容不能显示,需要在命令行中先敲入set serveroutput on;只要敲一遍就好,之后dbms_output.put_line的内容就能显示出来了;
2、dbms_output.put_line每行只能显示255个字符,超过了就会报错,报错内容如下
ORA-20000: ORU-10028: line length overflow, limit of 255 chars per line
解决这个问题的方法如下:
declare
v_result Varchar2(1000);--这是需要打印出结果的字符串
v_pos Number := 1;--用来记录v_result每行开始字符的位置
WHILE v_pos<= LENGTH(v_result) LOOP
DBMS_OUTPUT.PUT_LINE(SUBSTR(v_result, v_pos, 200));
v_pos:= v_pos+ 200;
END LOOP;
这样就能打印超过255长度的字符串,超过200长度的自动换行打印出来
begin
DBMS_OUTPUT.put( "put======= ");--不换行
DBMS_OUTPUT.put( "put======= ");--不换行
DBMS_OUTPUT.put_line( "putline====== ");--换行
DBMS_OUTPUT.put_line( "putline====== ");--换行
DBMS_OUTPUT.put_line( "putline====== ");--换行
end;
结果:
put=======put=======putline======
putline======
putline======
DECLARE
abc number;
CURSOR cur IS SELECT 1 from dual;
BEGIN
DBMS_OUTPUT.PUT_LINE( 'cursor opened ');
open cur;
LOOP
fetch cur into abc;
DBMS_OUTPUT.PUT_LINE( 'one data ');
exit when cur%notFound;
END LOOP;
close cur;
end;
要使用DBMS_OUTPUT,必须先
SQL> set serveroutput on
dbms_output.put_line输出的记录太多的话,会出现缓冲区的溢出:
ORA-20000: ORU-10027: buffer overflow, limit of 2000 bytes
ORA-06512: 在"SYS.DBMS_OUTPUT", line 35
ORA-06512: 在"SYS.DBMS_OUTPUT", line 198
ORA-06512: 在"SYS.DBMS_OUTPUT", line 139
ORA-06512: 在line 9
解决方法如下:
(1) 用dbms_output.enable( )设定长度.
DBMS_OUTPUT.ENABLE (buffer_size IN INTEGER DEFAULT 20000);
(注:该方法按如上设置没成功,直接DBMS_OUTPUT.ENABLE (20000);则成功执行)
(2) 也可以SET SERVEROUTPUT ON SIZE 5000
其中(1)方法仅对当次设定有效,删除后仍会提示错误,而(2)方法是修改配置信息,如果不关闭Sql*plus的该设定仍然存在。
原文:http://blog.csdn.net/zhangxs_3/article/details/4697160
分享到:
相关推荐
### Oracle DBMS_SQL 使用详解 #### 一、概述 在Oracle数据库中,`DBMS_SQL`包是一个功能强大的工具,用于执行动态SQL语句。它提供了处理动态SQL语句的能力,使得开发人员能够灵活地构建和执行SQL语句,而不需要...
DBMS_OUTPUT.PUT_LINE('没有找到匹配的数据'); -- 其他可能的异常处理 END; / ``` 在这个例子中,如果游标没有找到任何数据,程序将执行`WHEN NO_DATA_FOUND THEN`后面的代码,而不是抛出错误。 **方法二:使用%...
首先,我们来看dbms_output包,它用于在PL/SQL程序中进行输入和输出。通过enable和disable过程,我们可以开启或关闭输出功能。put_line过程用于打印一行文本,而put过程则允许逐字符输出,配合new_line过程添加换行...
- 在创建XML文档的过程中,可以利用`dbms_output.put_line`等方法输出调试信息,帮助定位问题所在。 - 测试不同的编码格式(如UTF-8、GB2312)的效果,确保最终输出的XML文档能够被正确解析和显示。 5. **参考...
1. **DBMS_OUTPUT**:在PL/SQL中使用DBMS_OUTPUT.PUT_LINE输出信息,配合PHP的oci_get_output函数获取这些信息,实现调试。 2. **预编译语句**:通过预编译语句,可以提高执行效率,减少SQL注入的风险。 3. **绑定...
知识点:PL/SQL 程序块的基本结构、变量声明、SELECT INTO 语句、DBMS_OUTPUT.PUT_LINE procedures 在 PL/SQL 中,程序块是基本的编程单元。程序块由 DECLARE、BEGIN、EXCEPTION 和 END四部分组成。DECLARE 部分...
DBMS_OUTPUT.PUT_LINE('No data found for the given condition.'); WHEN TOO_MANY_ROWS THEN DBMS_OUTPUT.PUT_LINE('More than one row matched the condition.'); WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('An...
9. **DBMS_OUTPUT.PUT_LINE 和 DBMS_OUTPUT.GET_LINE**: 分别用于写入和读取调试信息。 10. **DBMS_LOB**: 处理大型对象(LOBs),如BFILE、BLOB、CLOB和NCLOB。 11. **DBMS_SQL**: 动态执行SQL语句,提供解析、...
以上只是Oracle内置包的一部分,实际上,Oracle还提供了许多其他的包,如DBMS_OUTPUT、DBMS_METADATA等,它们构成了Oracle数据库强大的功能集合,为开发人员提供了丰富的工具来处理各种数据库任务。掌握这些内置包的...
--使用PLSQL输出三角形,只要是三个角 declare m number := 10; begin ... dbms_output.put('*'); else dbms_output.put(' '); end if; end loop; dbms_output.new_line(); end loop; end;
`DBMS_JOB`是旧版的调度器,而`DBMS_SCHEDULER`在Oracle 10g引入,提供更高级的功能和灵活性。 5. **DBMS_SQL** - 这个包提供了一种动态执行SQL语句的方式,允许在运行时构建和执行SQL,这对于编写灵活的数据库应用...
DBMS_OUTPUT.PUT_LINE(j); END; ``` 2. **dbms_random.random** 此函数无参数,返回一个介于`-2^31`到`2^31-1`之间的整数值,即随机整数可以是负数或正数,且范围较大。这个函数适用于需要整数随机数的场景。 ...
1.2.1 **应用开发包** - 这些包旨在帮助开发人员构建应用程序,如DBMS_OUTPUT用于调试PL/SQL代码,DBMS_SQL用于动态执行SQL,以及DBMS_LOB处理大型对象(LOBs)等。 1.2.2 **服务器管理包** - 包括DBMS_JOB用于调度...
此外,DBMS_OUTPUT 包提供了三个用于输出的函数:DBMS_OUTPUT.PUT、DBMS_OUTPUT.PUT_LINE 和 DBMS_OUTPUT.NEW_LINE,用于显示 PL/SQL 程序模块的输出信息。在 SQL*Plus 环境下,需要先执行环境设置命令 SET ...
exec dbms_output.enable(999999999999999999999); --//默认为2000 bytes 注意:如果不不进行设置,为报PLSQL ORA-20000: ORU-10027: buffer overflow, limit of 10000 第六步:实施truncate表中数据恢复 ...
可以使用数据库的日志功能记录输出结果,或者直接通过`DBMS_OUTPUT`查看响应。 #### 结论 通过以上介绍,我们可以看到`UTL_HTTP`工具包为Oracle环境下的HTTP交互提供了丰富的功能和支持。无论是简单的GET请求还是...
DBMS_OUTPUT.PUT_LINE('Result: ' || v_result); END; / ``` 这段代码声明了一个变量`v_result`,然后调用`my_procedure`并将结果赋值给`v_result`。 四、存储过程的优势 1. **性能提升**:由于存储过程在首次编译...
Oracle的`dbms_xmlgen`包提供了生成XML文档的功能,它能够将数据库查询结果转换成XML格式。在描述中提到的`XML_PRINT`过程,就是利用`dbms_xmlgen.getXML()`来实现这个功能的一个示例。首先,我们来看一下这个过程的...
首先,我们讨论`DBMS_OUTPUT`包,这是一个用于在Oracle SQL*Plus或PL/SQL环境中进行调试和信息输出的工具。它主要包括以下几个过程: 1. `enable`:启用`DBMS_OUTPUT`,允许输出信息到缓冲区。`buffer_size`参数可...
Oracle API 还包含了一些重要的包,如 DBMS_LOCK、DBMS_OUTPUT 和 DBMS_SCHEDULER。DBMS_LOCK 包用于实现进程间的锁定机制,保证并发操作的安全;DBMS_OUTPUT 提供了在服务器端打印和查看信息的功能,对调试非常有用...