DB:的Oracle 11g有沒有辦法在指定提交計數時執行INSERT INTO SELECT語句?
有沒有辦法做到像下面這樣:
INSERT INTO T1
(V1, V2)
COMMIT EVERY X
AS
SELECT (V1, V2) FROM T2;
我知道我如何通過遊標循環,而是尋找一些更精簡。
PL/SQL很好,但沒有循環。
使用SQL提示也很好。
如果這只是甲骨文無法處理的事情,悲傷隨之而來(大多數情況下,我只是好奇,因爲我已經有另一種方法工作了)。
注意:該應用程序有數千億記錄。數百萬是每天創建的。 INSERT INTO SELECT不適用於如此大的數據集。特別是在同時運行同樣大的組時。
正如你從答覆中看到的那樣,通常沒有中間提交的共識,我非常同意。不過,我很好奇,爲什麼你想要一箇中間的提交?有什麼需要? – Wolf 2012-04-16 15:54:34
你能解釋一下「不起作用」嗎?數據倉庫在加載期間在不同會話中同時執行大量的INSERT ... SELECT語句是相對常見的。 – 2012-04-16 18:57:34
針對我爲什麼要這樣的問題:應用程序有數千億記錄。數據每天數百萬次。 INSERT INTO SELECT不適用於如此大的數據集。特別是在同時運行同樣大的組時。遊標和FORALL也笨重和醜陋。但主要是,我只是好奇。 – ScrappyDev 2012-04-16 18:58:16