假設我有一個刪除,更新和插入的sql腳本...並且曾經有另一次更新,我只想提交此更新。我怎樣才能做到這一點 ?如何僅提交一些指令
delete 1
delete 2
....
insert 1
....
update 1
....
insert 2
...
**update 2**
我想只提交更新2 ...應該使用塊還是什麼?
感謝您的幫助
假設我有一個刪除,更新和插入的sql腳本...並且曾經有另一次更新,我只想提交此更新。我怎樣才能做到這一點 ?如何僅提交一些指令
delete 1
delete 2
....
insert 1
....
update 1
....
insert 2
...
**update 2**
我想只提交更新2 ...應該使用塊還是什麼?
感謝您的幫助
你到底想要什麼?請提供表名,插入/更新腳本等。可能你應該回顧一下你實際需要做的事情,因爲你試圖做的事似乎是荒謬的,並且是可以避免的。
這在技術上是可能的,但:
你可以把update 2
塊內部(程序)與PRAGMA AUTONOMOUS_TRANSACTION
。這樣,如果您在該塊內提交,則只會提交更新2。 但是,這是一個糟糕和雜亂的修復 - 使用PRAGMA AUTONOMOUS_TRANSACTION
除了日誌記錄的目的是is.You很可能最終會破壞數據的完整性和流量。
您是直接使用PL/SQL嗎?如果您使用C/C++和OCI,則可以在單個數據庫連接中使用多個事務並在它們之間切換。類似的東西在PL/SQL中是不可能的。在PL/SQL中,您只能使用AUTONOMOUS TRANSACTIONS。
[自主交易](http://docs.oracle.com/cd/E11882_01/server.112/e10713/transact.htm#CNCPT88959) –