执行Oracle过程时向用户显示注释

时间:2012-09-04 07:58:02

标签: oracle oracle11g

是否可以在执行包中的过程时向用户显示注释。我的包有3个程序。我打电话给每个人。我想在控制台上显示注释,如xyz正在执行的程序,程序执行成功。我在DBMS_OUTPUT.PUT_LINE('PROCEDURE EXECUTED SUCCESSFULLY')这样的程序中添加了评论,但对我没有用。 仅供参考我在Windows 7系统中使用oracle 11g。

1 个答案:

答案 0 :(得分:7)

在程序运行时,您无法使用DBMS_OUTPUT显示有关过程的信息。这是因为DBMS_OUTPUT.put_line不会在屏幕上显示数据,而是将数据放入稍后由调用客户端读取的队列中(此队列在其事务之外也是不可见的)。如果使用SQL*Plus,如果您有SET SERVEROUTPUT ON,则会在程序结束时自动读取并显示队列。

存在其他方法来跟踪程序运行时的进度:

正如您所看到的,在编写信息时需要另一个进程来读取信息。在某些应用程序中,这可以通过在新的单独进程中运行主批处理作业来实现,例如通过调用DBMS_JOBDBMS_SCHEDULER,同时调用事务在进度表或文件上循环,直到作业为止完整。

SQL * Plus不是交互式客户端,您需要一些更复杂的环境才能实现此功能。