每个SQL命令可能的异常列表

时间:2016-04-15 07:08:26

标签: sql oracle exception plsql

我正在查找每个SQL命令可能发生的所有可能异常的列表。 例如:如果我有以下代码:

Procedure p1
as
  l_cnt number;
Begin
  Select count(*)
    Into l_cnt
    From xyz;
Exceptions
  When ... Then
    ...
End;

现在我想知道在这个Select Into Statement中会发生哪个异常。我知道一些,但他们都有吗?这就是为什么我要查找每个SQL可能的异常的概述。

最重要的问题是:是否建议在PLSQL中捕获SQL代码引发的所有可能的异常? 我知道"当其他人"这是我抓住"未知"的唯一途径。例外。 当然,如果SQL的可能异常列表很长,我只会处理相关的exeptions并通过"当其他人"。

1 个答案:

答案 0 :(得分:1)

说实话,你的问题非常普遍。

例如,您的查询可能会导致以下异常:

  • TIMEOUT_ON_RESOURCE - 数据库等待资源时发生超时
  • STORAGE_ERROR - PL / SQL内存不足或内存损坏

我建议从official documentation学习预定义的异常并选择适合每种情况。