oracle的dbms_output

oracle的dbms_output的两个小问题

1、如果dbms_output.put_line的内容不能显示,需要在命令行中先敲入set serveroutput on;只要敲一遍就好,之后dbms_output.put_line的内容就能显示出来了;  www.2cto.com  

2、dbms_output.put_line每行只能显示255个字符,超过了就会报错,报错内容如下

  ORA-20000: ORU-10028: line length overflow, limit of 255 chars per line

解决这个问题的方法如下:  www.2cto.com  

 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 解决方法如下: www.2cto.com
(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的该设定仍然存在。 在SQL Server中的输出方式是PRINT 函数: IF EXISTS (SELECT zip FROM authors WHERE zip = '')
PRINT 'Berkeley author'

oracle之dbms_output的更多相关文章

  1. Oracle的dbms_output包的put()和put_line()的区别只是有没有回车换行吗?(转)

    答案是否 除了自动添加回车换行外,还有就是缓冲区最大容量的问题!! 无论如何设置serveroutput size,10g里 put() 最多只能输出 32767 个byte 而 put_line() ...

  2. Oracle的DBMS_OUTPUT.PUT_LINE用法及脚本批处理方法

    打印至控制台(无显示): BEGIN DBMS_OUTPUT.PUT_LINE('Hey look, ma!'); END; / 打印至控制台(有显示): SET SERVEROUTPUT ON BE ...

  3. Oracle 通过sql profile为sql语句加hint

    sql profile最大的优点是在不修改sql语句和会话执行环境的情况下去优化sql的执行效率,适合无法在应用程序中修改sql时.sql profile最常用方法大概是:--创建产生sql tuni ...

  4. oracle管道输出

    通常我们会在oracle中用dbms_output输出调试信息,但dbms_output只能在调用过程完成才返回结果,不能实时输出的.这意味着通常我们经常要等几分钟或更长的时间才能看到调试信息,那怎么 ...

  5. oracle 树状结构递归 PL/SQL输出控制 包括空格输出控制

    树状结构 存储过程中通过递归构建,类似BBS回帖显示,代码共三段: 建表,插入数据,创建存储过程显示: 1.create table article(id number primary key,con ...

  6. PLSQL_性能优化系列19_Oracle Explain Plan解析计划通过Profile绑定

    20150529 Created By BaoXinjian

  7. PL\SQL学习笔记

    注释 单行--多行 一.declare一般用于做变量的申明.begin 程序体开始执行  end; 程序体结束exception .. dbms_output.put_line('绝对值'||v_ab ...

  8. 使用COE脚本绑定SQL Profile

    日常运维中,经常会遇到需要绑定好的执行计划的场景. 简单来说,就是将一个sql_id绑定好的plan_hash_value.如果没有使用到绑定变量,还需要把force_match设置为true. 用到 ...

  9. PostgreSQL存储过程(2)-基于PL/PgSQL的存储过程

    介绍 PL/pgSQL 是PostgreSQL 数据库系统的一个可加载的过程语言. PL/pgSQL 的设计目标是创建一种可加载的过程语言,可以 用于创建函数和触发器过程, 为SQL 语言增加控制结构 ...

随机推荐

  1. [terry笔记]data guard基础知识

    如下介绍了data guard的基础知识,整理自网络: Data Gurad 通过冗余数据来提供数据保护,Data Gurad 通过日志同步机制保证冗余数据和主数据之前的同步,这种同步可以是实时,延时 ...

  2. Thunderbird导出邮件为PDF文件

    一般如果在windows下,可以通过打印的方式,生成一个PDF文件,可以完成此任务. 而今天在linux下采取此方式,生成的PDF文件居然是空白.原因未知. 而Thunderbird并未提供该功能,这 ...

  3. Java中四种复制数组的方法

    JAVA语言的下面几种数组复制方法中,哪个效率最高? B.效率:System.arraycopy > clone > Arrays.copyOf > for循环 1.System.a ...

  4. AppCan中标首都机场移动平台项目

    近日.正益无线AppCan依托东方航空.吉祥航空.国家电网.中化集团等大客户项目的丰富成功经验,凭借企业移动信息化建设的良好口碑.强大的移动化实施部署经验和高速响应的技术团队,在与多家国内外移动厂商比 ...

  5. 8.6 First_value和Last_value

    8.6 First_value和Last_value正在更新内容.请稍后

  6. Effective JavaScript Item 49 对于数组遍历,优先使用for循环,而不是for..in循环

    本系列作为Effective JavaScript的读书笔记. 对于以下这段代码,能看出最后的平均数是多少吗? var scores = [98, 74, 85, 77, 93, 100, 89]; ...

  7. spark 针对决策树进行交叉验证

    from pyspark import SparkContext, SQLContext from pyspark.ml import Pipeline from pyspark.ml.classif ...

  8. 机器学习规则:ML工程最佳实践----rules_of_ml section 1【翻译】

    作者:黄永刚 机器学习规则:ML工程最佳实践 本文旨在指引具有机器学习基础知识的工程师等人,更好的从机器学习的实践中收益.介绍一些应用机器学习需要遵循的规则,类似于Google C++ 风格指南等流行 ...

  9. window.location.href=*.html访问没反应问题

    window.location.href=*.html访问没反应问题 1.SpringMvc配置中:扫描controller.视图层配置路径是否正确 报doc根路径 <mapper>匹配错 ...

  10. C#-汉字转拼音缩写

    /// 〈summary〉 /// 汉字转拼音缩写 /// Code By MuseStudio@hotmail.com /// 2004-11-30 /// 〈/summary〉 /// 〈para ...