1
39
您可以使用以下过程的名称作为参数和变量名称的前缀:
|
2
6
你所描述的叫做 variable shadowing . 它可以用任何语言发生。您得到了很好的解决方案,但常见的解决方案是设计一个命名方案,这样它就永远不会发生。
例如,命名没有前缀的列,并让变量具有取决于其范围的前缀。(
|
3
4
我找到了解决办法。它通过完全限定参数来工作:
|
4
3
Re-Vincent关于前缀的回答——这个解决方案一直有效,直到有人修改了表并添加了一个名恰好与参数名冲突的列。不是每个人都要检查每一行代码,以确保他们的表修改不会与变量或参数名冲突。Oracle的建议是限定SQL查询中的每个参数或变量名。 如果您使用的是匿名块(在过程之外),则可以用这种方式命名块并限定变量:
|
Rogue258 · 在DB2SQL中使用存储过程/宏进行声明和循环 2 年前 |
Moyura · 如何从存储过程中获取最高值 2 年前 |
muhtarkator · 创建存储过程插入和更新 2 年前 |
DRUIDRUID · 执行SP时从表中获取值 6 年前 |
user416 · oracle中的组存储过程 6 年前 |