正确使用SQL Developer中的Substitution变量

时间:2013-05-06 00:10:26

标签: sql oracle-sqldeveloper

我的问题是在SQL Developer中使用Substitute变量。

从X中选择& C1,& C2 其中& C1 ='abc123' 和& C2 = 9999;

我希望上面的语句只询问我在C1和C2上的输入ONCE并将值替换为2次。但它问我4次C1,C2和C1和C2。

另外,我无法真正理解&和和&&如果我也有& C3,& C4 ......等等。

由于

1 个答案:

答案 0 :(得分:2)

这是一个很好的链接,解释了&和和&&amp ;: OraFAQ

基本上&每次问你和&&只问你一次。

您可能需要的是绑定变量而不是替换变量。只需在变量名前加上一个冒号:,它应该可以做你想要的。绑定变量具有强类型的额外好处,因此您可以指定它是字符串,数字,日期等。使用替换变量,文本将插入到SQL本身中,因此您必须将其包装在单引号中以使其成为字符串(例如:'&foo' vs仅:foo表示绑定变量。)

示例:

SELECT :foo as x
     , :bar as y
     , some_column
FROM my_table
WHERE some_other_column = :foo