![]() |
1
39
您可以使用以下过程的名称作为参数和变量名称的前缀:
|
![]() |
2
6
你所描述的叫做 variable shadowing . 它可以用任何语言发生。您得到了很好的解决方案,但常见的解决方案是设计一个命名方案,这样它就永远不会发生。
例如,命名没有前缀的列,并让变量具有取决于其范围的前缀。(
|
![]() |
3
4
我找到了解决办法。它通过完全限定参数来工作:
|
![]() |
4
3
Re-Vincent关于前缀的回答——这个解决方案一直有效,直到有人修改了表并添加了一个名恰好与参数名冲突的列。不是每个人都要检查每一行代码,以确保他们的表修改不会与变量或参数名冲突。Oracle的建议是限定SQL查询中的每个参数或变量名。 如果您使用的是匿名块(在过程之外),则可以用这种方式命名块并限定变量:
|
![]() |
vytaute · 返回表类型时Oracle函数中的类型错误 3 年前 |
![]() |
BetaRide · Oracle架构用户无法在过程中创建表 6 年前 |
|
F.donoso · 嵌套的隐式游标未在数据中清除 6 年前 |
![]() |
ADH · 如何在网格中调用过程和输出结果 6 年前 |