首页 > 数据库 > Oracle > 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博客 ” ,链接:https://blog.itpub.net/28916011/viewspace-2774514/ ,如需转载,请注明出处,否则将追究法律责任。