【发布时间】:2016-08-07 00:43:36
【问题描述】:
我正在寻找每个 SQL 命令可能发生的所有可能异常的列表。 例如:如果我有以下代码:
Procedure p1
as
l_cnt number;
Begin
Select count(*)
Into l_cnt
From xyz;
Exceptions
When ... Then
...
End;
现在我想知道这个 Select Into 语句中会出现哪个异常。我知道一些,但它们是全部吗?这就是为什么我正在寻找每个 SQL 可能的异常的概述。
最重要的问题是:是否建议在 PLSQL 中捕获 SQL 代码引发的所有可能的异常? 我知道“当其他人”,这是我 atm 捕捉“未知”异常的唯一方法。 当然,如果 SQL 的可能异常列表很长,我只会处理相关的异常并通过“当其他人”来捕获其他人。
【问题讨论】:
-
@MitchWheat,未知表,列等
-
@jarlh:如果表不存在,则无法编译过程,如果在创建过程后删除表,则过程无效,无法执行。跨度>
-
我的评论是关于选择是否会引发错误。回答“选择如何引发错误?”。
-
好吧,也许 Select count 不是最好的例子,但你正在争论可能发生的错误这一事实证明了我的观点。每个 SQL 的异常列表会很棒!
-
@jarlh:缺少表或列不是执行错误。
标签: sql oracle exception plsql