我有一組需要更新語句來執行一個接一個的。我使用的數據庫是Oracle,我通過使用shell腳本連接到數據庫來運行這些查詢。我在這裏想知道的是,只有在前一個更新語句成功的情況下,我才能夠一個接一個地執行這些命令。自動更新設置爲在shell腳本了,我想,當所有的人都成功一樣,我想退出執行只提交所有的語句。有沒有一種方法來運行這些更新通過檢查前面的查詢狀態和之後的所有查詢都成功運行commit命令一前一後。SQL查詢執行了一系列的更新語句
1
A
回答
2
可以使用WHENEVER SQLERROR EXIT ROLLBACK:
sqlplus -s username/[email protected] <<EOF
WHENEVER SQLERROR EXIT ROLLBACK
update table1 set mycolumn=value where mycolumn=1;
update table1 set mycolumn=othervalue where mycolumn=2;
update table1 set mycolumn=othervalue where mycolumn=3;
update table1 set mycolumn=othervalue where mycolumn=4;
commit;
exit
EOF
下面是對文件的鏈接:
+0
這正是我正在尋找的。感謝隊友:) –
+0
太棒了!考慮接受答案,如果它解決了你的問題。 –
相關問題
- 1. 在SQL查詢中執行CASE語句
- 2. 子查詢與更新語句在SQL
- 3. 使用Where語句中的if語句執行SQL查詢
- 4. 從另一個SQL查詢的結果執行插入語句的SQL查詢
- 5. 更新語句不執行
- 6. 鏈接SQL查詢的WITH子句,最終執行更新
- 7. SQL - 插入語句與子查詢,然後更新語句
- 8. 與組更新之後觸發執行 「在(...)」 語句查詢
- 9. 執行更新查詢,準備好語句
- 10. 命名原生查詢,執行更新語句
- 11. SQL語句來更新一列
- 12. PHP:在一個mysql_query語句中執行多個SQL查詢
- 13. 窗口函數執行一個SQL查詢語句
- 14. 執行SQL語句
- 15. 執行SQL語句
- 16. SQL執行語句
- 17. 多行更新SQL觸發器從單一更新SQL語句
- 18. 查看由MySQL執行的SQL語句
- 19. SQL查詢語句
- 20. SQL查詢語句
- 21. SQL語句查詢
- 22. PHP:幫助執行一系列查詢
- 23. SQL子查詢 - 對每個「ID」行執行select語句
- 24. 更新SQL語句
- 25. SQL - 更新語句
- 26. 更新查詢中的MySql CASE語句
- 27. 更新informix中的查詢語句
- 28. SQL更新語句 - 更新行基於非唯一的記錄
- 29. 執行的SQL語句
- 30. 更新一系列字段的SQL查詢 - MySQL表
你使用的是Oracle或MySQL? – jarlh
如果使用其他塊 –
這是Oracle數據庫 –