2017-08-08 58 views
0

我必須將記錄插入到一​​個表中,方法是使用insert into select語句從另一個表中選擇數據。 我不知道select語句的記錄數,它可以是1000甚至數百萬。存儲過程在oracle sql開發人員插入數百萬記錄插入選擇查詢?

這是我的SQL查詢來插入記錄不存儲過程:

insert into table1 
select col1,col2,col3 from table2 where condition 
full outer join 
select col1,col2,col3 from [email protected] where condition; 

或者是周圍有任何其他的方式做這個任務。作爲使用上面的查詢大約120萬的記錄插入在45分鐘內。這太長了。

+0

已存儲過程並讓DB Server爲您工作,而不是在工具中運行查詢。並且還禁用索引,禁用日誌記錄等。 – Prathyush

+0

爲什麼要使用存儲過程 - 您認爲這會改善什麼?我想這個查詢很慢 - 對數據庫鏈接的完全外連接可能會比你期望的做更多的工作;查看select的執行計劃,以及它是insert語句的一部分。 –

+0

上面提到的查詢提到現在沒有任何存儲過程。如果有要求,那麼我會創建一個新的問題。 – vermaraj

回答

0

以上述方式插入記錄現在適用於我。