gpt4 book ai didi

sql - 在 PLSQL 过程中获取输出

转载 作者:行者123 更新时间:2023-12-02 09:30:35 25 4
gpt4 key购买 nike

通常,在 SQL Developer 中,如果执行 INSERT 语句,那么脚本输出中会有一个输出:

insert into a (a) values (1);

1 rows inserted.

如果,那么,我们将其编译成过程:

create or replace procedure testp as
begin
insert into a (a) values (1);
end;

PROCEDURE TESTP compiled

并调用它:

execute testp

anonymous block completed

没有关于插入了多少行的输出。那么如何在程序中开启详细输出呢?

最佳答案

如果您只想为在启用了适当设置的 IDE 中交互运行过程的用户打印“详细输出”,您可以

create or replace procedure testp as
begin
insert into a (a) values (1);
dbms_output.put_line( sql%rowcount || ' row inserted. ' );
end;

假设调用者使用的应用程序知道如何显示写入 dbms_output 的内容(即 IDE),并且他们已启用 dbms_output(使用SQL Developer 中的 dbms_output 窗口),他们已经分配了足够的缓冲区等,调用者将看到“插入了 1 行”(如果您想处理单数语法,您可以添加更多代码/以编程方式复数)。

为什么你想要这样的输出?这通常意味着您应该对某种类型的日志表进行一些实际的日志记录,而不是希望交互式用户正在运行您的代码并查看输出。

关于sql - 在 PLSQL 过程中获取输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33500212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com