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

mal*_*jun 0 oracle oracle11g

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

Vin*_*rat 7

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

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

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

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