博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle的dbms_output包的put()和put_line()的区别只是有没有回车换行吗?(转)
阅读量:6097 次
发布时间:2019-06-20

本文共 887 字,大约阅读时间需要 2 分钟。

答案是否

除了自动添加回车换行外,还有就是缓冲区最大容量的问题!!

无论如何设置serveroutput size,10g里

put() 最多只能输出 32767 个byte

put_line() 的最大容量为 1000000个byte

 

以下的代码目的是生成一个oracle数据库的用户自定义的存储过程和函数!如果你的用户代码足够长(大于32767),就会发现

使用put()会报错,而使用put_line()不会报错!

不过问题是:使用put_line()获得的代码都会插入一个空行,十分不爽!我目前还没想到解决方法,若高手指点,不胜感谢!

 

 

declare

    tablename varchar2(30) := '%';
begin
    for objname in (select distinct TYPE, name
                    from   user_source
                    where  TYPE in ('PROCEDURE', 'FUNCTION')
                           and name like tablename
                    order  by TYPE, name)
    loop
        dbms_output.enable(10000000);
        dbms_output.put('CREATE OR REPLACE' || ' ');
        for output in (select text
                       from   user_source
                       where  name = objname.name
                              and TYPE in ('PROCEDURE', 'FUNCTION')
                       order  by TYPE, name, line)
        loop

/*         dbms_output.put(output.text); --如果使用put则会报错 */

            dbms_output.put_line(output.text);

        end loop;
        
        dbms_output.put_line('/');
    end loop;
end;

http://www.cnblogs.com/jinzhenshui/archive/2009/01/01/1366404.html

 

你可能感兴趣的文章
Redis 基础
查看>>
UITextField的returnkey点击事件
查看>>
特殊字体引用
查看>>
owlcar 用法心得 自定义导航
查看>>
数据结构 学习笔记03——栈与队列
查看>>
DB2 OLAP函数的使用(转)
查看>>
数学之美系列二十 -- 自然语言处理的教父 马库斯
查看>>
Android实现自定义位置无标题Dialog
查看>>
面试总结
查看>>
Chrome浏览器播放HTML5音频没声音的解决方案
查看>>
easyui datagrid 行编辑功能
查看>>
类,对象与实例变量
查看>>
HDU 2818 (矢量并查集)
查看>>
【转】php字符串加密解密
查看>>
22. linux 常用命令
查看>>
ASP.Net 使用GridView模板删除一行的用法
查看>>
(十六)字段表集合
查看>>
JPGraph
查看>>
实验二 Java面向对象程序设计
查看>>
------__________________________9余数定理-__________ 1163______________
查看>>