gpt4 book ai didi

oracle - PLW-06002 使用 NULL 时无法访问代码;

转载 作者:行者123 更新时间:2023-12-02 02:00:17 25 4
gpt4 key购买 nike

我偶尔会做一些类似的事情......

IF very-likely-condition THEN
NULL;
ELSE
<<code to deal with the unlikely condition>>
END IF;

这会在 IF 后的 NULL 行上从 PL/SQL 编译器发出PLW-06002 无法访问的代码警告。

现在,虽然我可以清楚地忽略警告和/或将 IF 语句重构为 NOT,但我认为这种方式读起来更好。

那么有人知道是否有另一种方法可以插入空语句,这样我就不会收到编译器警告?

编辑:

我并不是说我经常这样做......事实上我很少这样做。但有时我确实认为这样读起来更好。

编辑2:

此外,在其他情况下执行此操作可能是有效的(例如忽略 EXCEPTION block 中的特定错误)。我只是用 IF 作为一个简单的例子来说明这一点。

最佳答案

到递归和博客:

以下语句等效:

IF :x = 0 THEN
NULL;
ELSE
do_something;
END IF;

IF NOT :x = 0 THEN
do_something;
END IF;

如果:x IS NULL,则do_something过程将仅在第一种情况下被调用。这是因为表达式NULL = 0在Oracle中既不是TRUE也不是FALSE,它是“未知的”。

重写第一条语句的正确方法是:

IF :x != 0 OR :x IS NULL THEN
do_something;
END IF;

我明白为什么在某些情况下我们可以把东西写成OP。

关于oracle - PLW-06002 使用 NULL 时无法访问代码;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1346861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com