我有两个表:一个包含原始数据的临时表。其中的行可能是重复的(超过1次)。第二个是包含实际数据的目标表(每一行都是唯一的)。
我正在使用游标传输行。在游标中,我使用了MERGE语句。如何使用DBMS_OUTPUT.PUT_LINE打印到控制台,哪些行被更新,哪些行被删除?
根据official documentation的说法,这条语句没有这样的功能。
有什么变通方法吗?
发布于 2013-04-03 03:03:42
之前的帖子已经说过,这种方法是可疑的,因为光标/循环和用于审查的输出日志。
在SQL Server上,MERGE语句中有一个OUTPUT子句,它允许您使用$action (insert、update、delete)在另一个表中插入一行,以及插入或删除/覆盖所需数据中的任何列。这可以让您完全按照您的要求进行总结。
等效的Oracle RETURNING子句可能不适用于MERGE,但适用于UPDATE和DELETE。
https://stackoverflow.com/questions/14395287
复制相似问题