[20240925]toad编写sql参数替换的问题.txt

来源:这里教程网 时间:2026-03-03 20:38:15 作者:

[20240925]toad编写sql参数替换的问题.txt --//写一个复杂sql语句在toad下调试,主要原因toad下可以很好的格式化sql语句,这样调试容易发现问题。 --//问题主要集中在参数替换上,通过例子说明。 --//toad 版本 12.7.0.121 --//在sqlplus下: SCOTT@book01p> define 1=12 SCOTT@book01p> select &1 , &1+1 from dual ;         12       12+1 ---------- ----------         12         13 --//没有任何问题。 --//但是在toad下: --//第1次执行,带入12. old: select &1 , &1+1 from dual new: select 12 , 12+1 from dual         12       12+1 ---------- ----------         12         13 已选择 1 行。 --//测试正确!! --//第2次执行,带入13. old: select &1 , &1+1 from dual new: select 13 , 12+1 from dual         13       12+1 ---------- ----------         13         13 已选择 1 行。 --//测试错误。你可以发现第2次执行第2个参数&1还是12. --//实际上在执行时弹出变量赋值时仅仅给第1个赋值,第2个没有选中还是原来的旧值。 --//在赋值界面上出现&1(0),&1(1),如果没有选中&1(1)就会出现上面的错误,选中就不会出现上面的错误。 --//如果脚本出现&1多次,每一次都需要选中是一件很繁琐的操作。 --//有1个简单的修改方法就是使用2个&&,这样可以规避上面的情况,改写如下: select &&1 , &&1+1 from dual ; --//赋值界面上仅仅出现&&1,就不会出现前面的错误,也就是toad参数替换最好使用2个&代替1个&。

相关推荐