|
1
16
我们可以在SQLPlus中测试这一点,看看在这三种情况下(true、false、null)都会发生什么:
产生:
因此,唯一可能产生预期输出的代码路径是进入条件的值是否为false。如果这不是你所看到或期待的,那么在你的过程中一定会发生其他事情或作为副作用。 |
|
|
2
4
变量设置为什么值?请务必理解,如果值为空,则永远不会执行块。我不确定这是否是你的问题,但这里有一个例子:
当然,我不知道Oracle Forms会有什么不同,但也许它正在以某种方式将变量设置为null? |
|
|
3
4
对你来说,
请改为使用以下代码:
|
|
4
2
声明时,必须为“可见”设置初始值。声明布尔值时,Oracle不会为布尔值设置默认值。在声明布尔值时设置它的值在块内设置值可能并不总是最佳方法。如果您正在创建一个函数,而块失败了,那么您可能会得到一个没有值的返回函数,但是如果在块外部声明,并且您有一个异常处理程序,那么它将捕获并处理错误。以这种方式设置块始终是一种良好的做法。
|
|
|
5
1
试试看它是否改变了什么:
|
|
|
6
1
表单的版本是什么?
这在你的环境中有效吗? 编辑 向示例添加了null。 |
|
|
vytaute · 返回表类型时Oracle函数中的类型错误 4 年前 |
|
|
BetaRide · Oracle架构用户无法在过程中创建表 8 年前 |
|
|
F.donoso · 嵌套的隐式游标未在数据中清除 8 年前 |
|
|
ADH · 如何在网格中调用过程和输出结果 8 年前 |