首页 > 解决方案 > 在 PL/SQL 中捕获 SQL/开发人员脚本输出

问题描述

在 SQL/Developer 中,当我执行一条语句时,我收到一条脚本输出消息,内容类似于7 Records Merged

这是我的相关 PL/SQL 代码:

v_sql_loader := 'merge into foobar b using foobiz i on (b.foobar_id = i.foobiz_id) when not matched then insert (foobar_id) values (foobiz_id)';

execute immediate v_sql_loader;

如何7 records Merged在 PL/SQL 中捕获?

我在写dbms_output.put_line(SQLERRM),但那只会返回 ORA-0000: normal, successful completion

我可以使用什么 Oracle/PLSQL 对象来复制 SQL/开发者脚本输出消息?

期望的结果:PLSQL 语句,最好dbms_output.put_line()是 ;表示7 Records Merged.

标签: oracleplsqloracle12cdbms-output

解决方案


使用SQL%ROWCOUNT

BEGIN
   ...
   EXECUTE IMMEDIATE v_sql_loader;
   DBMS_OUTPUT.PUT_LINE('Merged: ' || SQL%ROWCOUNT);
END;
/

推荐阅读