sqlplus執行指令碼時遇到錯誤自動停止
當一個指令碼中存在大量的sql/plsql語句時,執行該指令碼時,如果其中有一條sql語句執行失敗,用sqlplus可能很難發現。
如果能讓碰到錯誤時,讓sql*plus退出,再結合spool命令檢視日誌,
就很容易知道指令碼的執行情況。這可以透過whenever命令來實現。
SQL>whenever sqlerror exit rollback
一旦指令碼中該語句之後的某sql語句執行出錯,就會停止出錯,sql*plus就會自動退出。
加了rollback選項,則出錯後,sql*plus在退出前,會自動執行rollback一下;如果加了none選項或什麼都不加,
則退出不會做任何事,但實際上預設設定下sql*plus在退出前會commit一下,所以這種情況與加了commit選項效果一樣。
例:***test.sql*** SQL>spool e:\test.txt SQL>whenever sqlerror exit rollback SQL>select * from test1233; SQL>select * from dual; SQL>spool off
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28916011/viewspace-2774514/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 啟動vi時自動執行的指令碼指令碼
- sqlplus 執行大量sql指令碼時遇到問題分析(很常見)SQL指令碼
- 如何在Docker容器啟動時自動執行指令碼Docker指令碼
- UNIX crontab自動執行指令碼指令碼
- Linux管理指令碼之自動執行指令碼Linux指令碼
- 執行指令碼寫入中間表錯誤返回錯誤資訊指令碼
- Linux(CentOS)啟動時自動執行指令碼(rc.local)LinuxCentOS指令碼
- 如何在 Linux 啟動時自動執行命令或指令碼Linux指令碼
- 使用bat指令碼執行MySQL命令時遇到的坑BAT指令碼MySql
- shell指令碼執行錯誤 $‘\r‘:command not found指令碼
- 檔案格式引起的指令碼執行錯誤指令碼
- sqlplus動態生成linux shell指令碼並執行SQLLinux指令碼
- 開機自動執行python指令碼Python指令碼
- 使用php作linux自動執行指令碼PHPLinux指令碼
- LINUX 自動執行指令碼的命令配置Linux指令碼
- oracle sqlplus windows下已停止執行OracleSQLWindows
- 9i上JOB停止自動執行
- sh指令碼執行報錯指令碼
- 在 Linux 命令列指令碼中執行 sudo 時自動輸入密碼Linux命令列指令碼密碼
- hp-ux環境sqlplus中使用@執行sql指令碼報錯UXSQL指令碼
- SOLIDWORKS啟動時出現指令碼錯誤問題Solid指令碼
- linux下rman增量備份指令碼以及指令碼自動執行Linux指令碼
- 升級執行指令碼遇到SP2-0734: unknown command beginning 錯誤處理指令碼
- 關於oracle cluster執行runcluvfy.sh錯誤時遇到的問題Oracle
- Linux啟動/關機時執行指令碼Linux指令碼
- ssh執行遠端指令碼遇到的坑指令碼
- 執行SQL語句遇到3113錯誤SQL
- Oracle EBS 執行2小時自動停止,重起WEB 2小時又停止的問題解決.OracleWeb
- 使用sqlplus批量執行指令碼的總結SQL指令碼
- windows自動登入linux 並執行指令碼WindowsLinux指令碼
- apache_weblogic自動生成可執行指令碼ApacheWeb指令碼
- Oracle ERP 執行2小時自動停止,重起WEB 2小時又停止的問題解決.OracleWeb
- 設定週期性自動執行備份指令碼指令碼
- Crontab自動執行指令碼Kill掉MySQL的僵死程式指令碼MySql
- javascript指令碼何時被執行JavaScript指令碼
- 執行指令碼diagcollection.pl報錯指令碼GC
- 動態建立 @ViewChild 導致執行時錯誤的原因分析View
- storm叢集啟動停止指令碼ORM指令碼