SQLCODE 函数 - 942

问题描述 投票:0回答:1

我是 plsql 新手,正在尝试了解下面的代码的作用。 942 是什么意思以及为什么有人想要使用下面的代码?谢谢。

BEGIN
    EXECUTE IMMEDIATE 'DROP TABLE mostRecent
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN
            RAISE;
        END IF;
END;

只是想知道它在做什么。当我用谷歌搜索它们的意思时,这些解释对我来说没有意义,因为我的 plsql 知识有限。

plsql
1个回答
0
投票

您的过程的目标是删除一张桌子。当您尝试删除表时,有两种情况:

  1. 该表存在
  2. 该表不存在

如果运行 drop table 命令并且该表存在,则该表将被删除。但是,如果您运行 drop table 命令并且该表不存在,您将收到

ORA-00942: table or view does not exist
错误。 (如this db<>fiddle所示。)

您拥有的过程包含一个异常处理程序,它表示“如果发生错误,请检查它是否是错误代码-942,如果不是,则引发异常。即,如果表尚不存在。(如 this db<>fiddle 所示。)

© www.soinside.com 2019 - 2024. All rights reserved.