oracle - 在 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.
解决方案
使用SQL%ROWCOUNT
:
BEGIN
...
EXECUTE IMMEDIATE v_sql_loader;
DBMS_OUTPUT.PUT_LINE('Merged: ' || SQL%ROWCOUNT);
END;
/
推荐阅读
- react-native - 创建帖子后反应导航导航
- node.js - 如何使用 discord.js 获取消息嵌入信息
- java - 如何修复 RuntimeException?
- python - 协助 selenium 发送密钥 python
- c# - 如何在锚定到右侧时使用 AutoSize 获取标签以更新其位置?
- c# - MongoDb 游标不返回集合中的所有文档
- javascript - 如何在表中使用 useEffect 从后端获取数据
- python - Python Flask:从 InvokeHTTP 引发的 IO 异常。Java.net.SocketException:管道损坏(写入失败)
- python - 为 json 日志格式化 PyCharm 的控制台输出
- objective-c - How to temporarily disable Swift to Objective-C bridging header auto-generation?