2013-12-10 69 views
-1

,所以我有這個奇怪的問題..作爲車費,因爲我知道,數據庫服務器有一個驗證過程只提交新的數據,當所有存儲的數據。延遲提交多個SQL查詢的

現在我的問題是,我可以運行多重SQL查詢,並延遲提交,直到所有查詢已運行?

我得到了600.000新的項目,我想分割成更小的SQL「插入」查詢,所以我不必從頭開始,如果SQL查詢失敗。

那麼,有沒有辦法做到以下

"DELAY COMMIT" 
"INSERT INTO ...." 
"INSERT INTO ...." 
"INSERT INTO ...." 
"INSERT INTO ...." 
... 
... 
... 
"INSERT INTO ...." 
"COMMIT" 

回答

1

是,使用begin and commit transaction

BEGIN TRANSACTION 
INSERT INTO ... 
INSERT INTO ... 
INSERT INTO ... 
INSERT INTO ... 
INSERT INTO ... 
COMMIT TRANSACTION 
+0

雖然取決於他們的意思是 「從頭再來,如果SQL查詢失敗。」他們可能需要回滾到保存點,否則他們可能會發現錯誤會導致整個事務處理,並使其無法承諾。 –

+0

嘿嘿,這實際上做了我所需要的,但我非常接近:P 感謝您的答案...我標記爲我的答案,當我被允許:) – Droa