存储过程里面怎么set serveroutput on 我有一个存储过程 里面使用了dbms_output输出结果但是别人执行时总是忘了set serveroutput on有没有办法在存储过程里面执行这个操作?或者有没有什么输出函数,不需要set serverooutput on也能输出 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 别人调用你的函数,就让他去set好了。输出的结果只是为了调试而已,如果你输出的结果有用的话,直接out参数输出啊 我写的存储过程是目的就是输出日志,调用者输入日志内容,存储过程里会对内容做处理,格式化然后打印(可以算是一个统一的日志api)现在出现的问题是,虽然所有人写日志都使用了我这个存储过程了。 但是经常出现调用存储过程时忘了先执行set serveroutput on导致日志无法输出特别是那些晚上在后台执行的存储过程,没日志基本白跑了===========================所以我希望能尽量减少使用者出错的机会,在存储过程里面自动执行set serverout on 我唯一不清楚的就是打印在cmd的信息和没有信息有什么区别。你还能让他们去复制粘贴? 问题同个人认为,直接在过程中调用set,我觉得不可行,因为set是sqlplus的命令,不是pl/sql编程语言的命令要搞这个问题,还要区分使用的环境说白了,如果在sqlplus 中执行过程,可以通过过程修改本机的glogin.sql文件,达到执行set serveroutput on的效果但是这个效果在plsql dev里不生效。 我们是在unix 后台调用sqlplus 将输出重定向到日志文件 我们是在unix 后台调用sqlplus 将输出重定向到日志文件那你还不如直接在存储过程里用utl_file去写日志。 我们是在unix 后台调用sqlplus 将输出重定向到日志文件那你还不如直接在存储过程里用utl_file去写日志。utl_file 要建directory 我们没权限 (数据库不是我们管的) 考虑过,但是1是写日志表怕速度比较慢,因为有时候输出的日志还是比较多的另外一个是,一回滚 所有日志全丢了 达不到日志效果同学,oracle有个东西叫自治事物,专注处理异常时候写日志,你可以试一试 那只能写个规范了 让他们严格执行 先执行set serveroutput on呗 考虑过,但是1是写日志表怕速度比较慢,因为有时候输出的日志还是比较多的另外一个是,一回滚 所有日志全丢了 达不到日志效果同学,oracle有个东西叫自治事物,专注处理异常时候写日志,你可以试一试这个我曾经考虑过,被人否决了 原因是一个存储过程,可能会写成百上千条日志用自治事务就要产生成百上千个事务,数据库资源占用太大了除非能保证日志一个事务,程序一个事务 即调一次存储过程产生两个不同的事务 求改一sql,不长 数据拷贝_大侠帮忙.. 请教oracle字符集问题 求助 : win7 oracle10g 连接不上实例 错误信息(923:ORA-00923: 未找到要求的 FROM 关键字 各位帮忙看看这SQL脚本有什么蹊跷之处? 难道在Oracle中真的没有办法在独立执行block中返回一个值 谁有oracle9.2的客户端程序? 基于Oracle技术的www信息查询系统探讨~~~~~~~~散分 Oracle触发器运行不成功,单独执行语句运行能成功 一个group by语句 求组索引失效问题
输出的结果只是为了调试而已,如果你输出的结果有用的话,直接out参数输出啊
所以我希望能尽量减少使用者出错的机会,在存储过程里面自动执行set serverout on
问题同个人认为,直接在过程中调用set,我觉得不可行,因为set是sqlplus的命令,不是pl/sql编程语言的命令
要搞这个问题,还要区分使用的环境
说白了,如果在sqlplus 中执行过程,可以通过过程修改本机的glogin.sql文件,达到执行set serveroutput on的效果
但是这个效果在plsql dev里不生效。
我们是在unix 后台调用sqlplus 将输出重定向到日志文件
我们是在unix 后台调用sqlplus 将输出重定向到日志文件那你还不如直接在存储过程里用utl_file去写日志。
我们是在unix 后台调用sqlplus 将输出重定向到日志文件那你还不如直接在存储过程里用utl_file去写日志。utl_file 要建directory 我们没权限 (数据库不是我们管的)