2014-01-24 69 views
0

假設我有一個刪除,更新和插入的sql腳本...並且曾經有另一次更新,我只想提交此更新。我怎樣才能做到這一點 ?如何僅提交一些指令

delete 1 
delete 2 
.... 
insert 1 
.... 
update 1 
.... 
insert 2 
... 
**update 2** 

我想只提交更新2 ...應該使用塊還是什麼?

感謝您的幫助

+0

[自主交易](http://docs.oracle.com/cd/E11882_01/server.112/e10713/transact.htm#CNCPT88959) –

回答

1

你到底想要什麼?請提供表名,插入/更新腳本等。可能你應該回顧一下你實際需要做的事情,因爲你試圖做的事似乎是荒謬的,並且是可以避免的。

這在技術上是可能的,但:

你可以把update 2塊內部(程序)與PRAGMA AUTONOMOUS_TRANSACTION。這樣,如果您在該塊內提交,則只會提交更新2。 但是,這是一個糟糕和雜亂的修復 - 使用PRAGMA AUTONOMOUS_TRANSACTION除了日誌記錄的目的是is.You很可能最終會破壞數據的完整性和流量。

0

您是直接使用PL/SQL嗎?如果您使用C/C++和OCI,則可以在單個數據庫連接中使用多個事務並在它們之間切換。類似的東西在PL/SQL中是不可能的。在PL/SQL中,您只能使用AUTONOMOUS TRANSACTIONS。

相關問題