高分急问,关于dbms_output.put_line

sungangsg 2006-07-13 10:02:24
代码基本如下,现在的问题是,我在pl/sql developer发布这段代码时,并不是执行完DELETE from new_part_tab;,马上就显示“清空临时表完成!”,而是在整个程序运行完后,程序中的三个提示一次都出来,找不到原因啊
set serveroutput on
begin
--刷新单位
dbms_output.put_line('现在刷新单位,保证NC和IFS一致!');
INVENTORY_PART_API.Refresh_NC_Unit(1);
--先清空临时表
DELETE from new_part_tab;
COMMIT;
dbms_output.put_line('清空临时表完成!');

--开始插入临时表
FOR temp_all_ IN get_all_nc_part_rec LOOP
INSERT
INTO new_part_tab (
inventory_id,
part_no ,
description ,
type_designation,
dim_quality ,
drawing_no ,
unit_meas ,
unit_name ,
qty_onhand ,
rowversion
)
VALUES (
temp_all_.inventory_id ,
temp_all_.part_no ,
temp_all_.description ,
temp_all_.type_designation ,
temp_all_.dim_quality ,
temp_all_.drawing_no ,
temp_all_.unit_meas ,
temp_all_.unit_name ,
temp_all_.qty_onhand ,
sysdate
);
COMMIT;
END LOOP;
dbms_output.put_line('NC库存件插入临时表完成!');
end
...全文
662 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wiler 2006-08-08
  • 打赏
  • 举报
回复
dbms_output.put_line并不能和代码执行同步显示
我的解决办法是:把dbms_output.put_line改为prompt
mu_gua 2006-08-08
  • 打赏
  • 举报
回复
原因很简单:dbms_output.put_line并不能和代码执行同步显示
解决方法:1、把需要输出的信息写入一个测试表
或者2、用spool把需要输出的信息加上时间戳保存到文件
sungangsg 2006-08-08
  • 打赏
  • 举报
回复
自己顶一下
辉说慧语 2006-07-15
  • 打赏
  • 举报
回复
关注
多壮志 2006-07-14
  • 打赏
  • 举报
回复
我也不知道啊..
龙翔飞雪 2006-07-13
  • 打赏
  • 举报
回复
用pl/sql develop的test script~ (方法是: New -> Test Windows)
写完脚本后,可以一步步执行,并且随时可以看到output信息.(即使不打set serveroutput on也可看到)
sungangsg 2006-07-13
  • 打赏
  • 举报
回复
我这个脚本是给用户用的,那几个输出只是让用户知道现在在做什么,让用户在调试环境做显然不行,刚才查了资料说,所有的dbms_output.put_line只能在整个程序提交后一次打出来,而不能执行完相应的操作就出相应的提示,那有没有别的函数可以实现这个需求啊。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧