我是 plsql 新手,正在尝试了解下面的代码的作用。 942 是什么意思以及为什么有人想要使用下面的代码?谢谢。
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE mostRecent
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE != -942 THEN
RAISE;
END IF;
END;
只是想知道它在做什么。当我用谷歌搜索它们的意思时,这些解释对我来说没有意义,因为我的 plsql 知识有限。
您的过程的目标是删除一张桌子。当您尝试删除表时,有两种情况:
如果运行 drop table 命令并且该表存在,则该表将被删除。但是,如果您运行 drop table 命令并且该表不存在,您将收到
ORA-00942: table or view does not exist
错误。 (如this db<>fiddle所示。)
您拥有的过程包含一个异常处理程序,它表示“如果发生错误,请检查它是否是错误代码-942,如果不是,则引发异常。即,如果表尚不存在。(如 this db<>fiddle 所示。)