我需要做的是将记录插入到表 TAB_B 中,这是从选择到表 TAB_A 的结果(表结构相同),如下所示:
INSERT /*+ APPEND */ INTO TAB_B SELECT * FROM TAB_A WHERE [CONDITION]
问题是我需要知道插入了多少条记录,所以最简单的方法是在插入后计算它们:
SELECT COUNT(*) FROM TAB_A WHERE [CONDITION]
无论如何,如果我可以省略两次执行相同条件的查询,那就太好了,所以我可以这样做:
BEGIN
INSERT /*+ APPEND */ INTO TAB_B SELECT * FROM TAB_A WHERE [CONDITION];
DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT);
END;
问题是:“plsql 解决方案是否有任何缺点——尤其是在性能方面?我应该坚持 INSERT 后跟 COUNT,还是不坚持?”
编辑先生,我认为我的问题不能更清楚地提出,它是关于性能差异加上最终的缺点,而不是方法本身(我试图在标题和问题本身中更好地说明它)。您标记为重复的问题是关于如何计算行数,无论我的问题是这两种方法中哪一种在性能方面更好,以及使用任何提到的方法时是否有任何缺点。