`
beagoodboy
  • 浏览: 95803 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

SQL*PLUS的异常处理

阅读更多
使用SQLP*PLUS时,如果执行SQL*PLUS的特定命令,只要没有错误,就认为是执行正常;相反地,如果执行SQL或者PL/SQL命令,如果返回了正确的文本,则执行正常。当SQL*PLUS执行碰到错误时,默认地,它会报错并继续执行。当人工在交互式地执行命令时,这个特性是非常好的,但是在脚本中执行时,更希望在碰到错误的时候SQLPLUS能够退出并报错。

SQLPLUS执行中的报错分为两种,一种是系统层面的报错,比如spool命令因为文件无法创建而失败时,所报的SP2-0606: Cannot create SPOOL file就是属于系统层面的报错,如果希望定制SQL*PLUS面对这种错误的处理方法,可以使用WHENEVER OSERROR这个命令,该命令的语法如下:
WHENEVER OSERROR {EXIT [SUCCESS|FAILURE|n|variable|:BindVariable]
                   [COMMIT|ROLLBACK] | CONTINUE [COMMIT|ROLLBACK|NONE]}


比如在SQL*PLUS中执行以下的一些命令:

SQL> WHENEVER OSERROR EXIT FAILURE
SQL> SPOOL /root/test
SP2-0606: Cannot create SPOOL file "/root/test.lst"
O/S Message: No such file or directory
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
$ echo $?
1


另一种是SQL或者PL/SQL执行出错,类似地,可以使用WHENEVER SQLERROR定制SQL*PLUS的行为,该命令的语法如下,具体的例子就不重复了。
WHENEVER SQLERROR {EXIT [SUCCESS|FAILURE|WARNING|n|variable|:BindVariable]
                    [COMMIT|ROLLBACK] | CONTINUE [COMMIT|ROLLBACK|NONE]}

分享到:
评论

相关推荐

    Oracle 11g SQL和PL SQL从入门到精通〖送源代码〗

     第16章异常处理 . 第17章本地动态SQL  第18章PL/SQL过程  第19章PL/SQL函数  第20章PL/SQL包  第21章触发器  第22章使用对象类型 第四部分PL/SQL系统包  第23章使用大对象  第24章读写OS文件  第25章开发...

    Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(二)

     第16章 异常处理 . 第17章 本地动态sql  第18章 pl/sql过程  第19章 pl/sql函数  第20章 pl/sql包  第21章 触发器  第22章 使用对象类型 第四部分 pl/sql系统包  第23章 使用大对象  第24章 读写os文件 ...

    Oracle 11g SQL和PL SQL从入门到精通 pdf格式电子书 下载(一)

     第16章 异常处理 . 第17章 本地动态sql  第18章 pl/sql过程  第19章 pl/sql函数  第20章 pl/sql包  第21章 触发器  第22章 使用对象类型 第四部分 pl/sql系统包  第23章 使用大对象  第24章 读写os文件 ...

    Oracle 11g SQL和PL SQL从入门到精通.part1

     第16章 异常处理 . 第17章 本地动态sql  第18章 pl/sql过程  第19章 pl/sql函数  第20章 pl/sql包  第21章 触发器  第22章 使用对象类型 第四部分 pl/sql系统包  第23章 使用大对象  第24章 读写os文件 ...

    Plus SQL 程序设计

    学习重点: PL/SQL的控制结构 PL/SQL记录和表 过程与函数 异常处理 挺实用的,我看过的!!!

    Oracle 11g SQL和PL SQL从入门到精通part2 pdf格式电子书 下载(二)

     第16章 异常处理 . 第17章 本地动态sql  第18章 pl/sql过程  第19章 pl/sql函数  第20章 pl/sql包  第21章 触发器  第22章 使用对象类型 第四部分 pl/sql系统包  第23章 使用大对象  第24章 读写os文件 ...

    SQL21日自学通

    SQL 对视图的处理过程197 在SELECT 语句使用约束201 在视图中修改数据201 在视图中修改数据的几个问题203 通用应用程序的视图204 删除视图语句207 使用索引207 什么是索引207 使用索引的技巧212 对更多的字段进行...

    PL/SQL Developer

     PL/SQL完善器——该完善器允许您通过用户定义的规则对SQL和PL/SQL代码进行规范化处理。在编译、保存、打开一个文件时,代码将自动被规范化。该特性提高了您编码的生产力,改善了PL/SQL代码的可读性,促进了大规模...

    PL/SQL Developer v8.0.zip

    PL/SQL完善器——该完善器允许您通过用户定义的规则对SQL和PL/SQL代码进行规范化处理。在编译、保存、打开一个文件时,代码将自动被规范化。该特性提高了您编码的生产力,改善了PL/SQL代码的可读性,促进了大规模...

    ORACLE11G宝典.rar 是光盘里面的内容,书太厚咧没法影印啊

     4.5 异常处理  4.5.1 异常错误简介  4.5.2 预定义异常错误  4.5.3 非预定义异常错误  4.5.4 自定义异常  4.5.5 使用sQLCODE和sQLERRIVI  4.5.6 使用RAISEAPPLICATIONERROR  4.6 过程与函数  4.6.1...

    PL/SQL Developer 6.05注册版-1

    <br>PL/SQL完善器——该完善器允许您通过用户定义的规则对SQL和PL/SQL代码进行规范化处理。在编译、保存、打开一个文件时,代码将自动被规范化。该特性提高了您编码的生产力,改善了PL/SQL代码的可读性,促进了...

    PL/SQL Developer 7.1.5 注册版-3

    <br>PL/SQL完善器——该完善器允许您通过用户定义的规则对SQL和PL/SQL代码进行规范化处理。在编译、保存、打开一个文件时,代码将自动被规范化。该特性提高了您编码的生产力,改善了PL/SQL代码的可读性,促进了...

    pl/sql developer 9 + 注册机

     该完善器允许您通过用户定义的规则对SQL和PL/SQL代码进行规范化处理。在编译、保存、打开一个文件时,代码将自动被规范化。该特性提高了您编码的生产力,改善了PL/SQL代码的可读性,促进了大规模工作团队的协作。 ...

    ORACLE教材

    异常处理 过程 函数 游标 包 触发器 第四章:管理表空间 表空间概述 通过OEM管理表空间 第五章:管理用户 利用图形界面创建新用户 利用图形界面了解权限 权限与数据字典 创建和修改用户指令 第六章...

    Oracle 10g 开发与管理

    7.9 异常处理 66 (一)预定义异常 66 (二)非预定义异常 67 1.声明异常名 67 2.将异常名与标准的Oracle错误号联系起来 67 3.在Exception中对异常做处理 67 (三) 用户自定义异常 68 3.处理异常 68 Exception 68 (四)...

    oracle实验报告

    处理方法:利用SQL*PLUS语言工具(也可以使用其他文本编辑器)建立批命令的.SQL文件。在“SQL>”提示符下,使用EDIT命令在”E:\”中建立SCGB.SQL文件。 SCGB.SQL文件中的命令组如下: SQL>EDIT E:\ SCGB.SQL SET ...

    PL/SQL Developer8.04官网程序_keygen_汉化

    程序结构 PL/SQL程序都是以块(block)为基本单位,整个PL/SQL块分三部分:声明部分(用declare开头)、执行部分(以 begin开头)和异常处理部分(以exception开头)。其中执行部分是必须的,其他两个部分可选。...

    PL/SQL Developer 7.1.5 注册版

    <br>PL/SQL完善器——该完善器允许您通过用户定义的规则对SQL和PL/SQL代码进行规范化处理。在编译、保存、打开一个文件时,代码将自动被规范化。该特性提高了您编码的生产力,改善了PL/SQL代码的可读性,促进了...

    PLSQL Developer 7.1.5

     PL/SQL完善器——该完善器允许您通过用户定义的规则对SQL和PL/SQL代码进行规范化处理。在编译、保存、打开一个文件时,代码将自动被规范化。该特性提高了您编码的生产力,改善了PL/SQL代码的可读性,促进了大规模...

Global site tag (gtag.js) - Google Analytics