界: Code Quality
代码质量不佳会导致不可预测的行为。对于用户来说,通常表现为可用性差。对于攻击者来说,提供了以意外方式对系统施加压力的机会。
Code Correctness: Erroneous Null Comparison
Abstract
表达式
x = NULL
和 x != NULL
将始终为 false。Explanation
在 PL/SQL 中,
例 1:以下语句将始终为 false。
NULL
的值是不确定的。它不等于任何值,甚至不等于另一个 NULL
值。同样,一个 null
值永远不会等于另一个值。例 1:以下语句将始终为 false。
例 2:以下语句将始终为 false。
checkNull BOOLEAN := x = NULL;
checkNotNull BOOLEAN := x != NULL;
References
[1] Steven Feuerstein Oracle PL/SQL Best Practices O'Reilly
[2] Standards Mapping - Common Weakness Enumeration CWE ID 480
desc.structural.sql.code_correctness_erroneous_null_comparison_plsql