2013-05-06 173 views
1

我的问题是关于SQL Developer中替换变量的用法。SQL Developer中替换变量的正确用法

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

我希望上面的陈述要求在C1和C2上我的输入只有一次,并将它替换为2次。但它要求我4次C1,C2以及C1和C2。

而且,我真的不能明白&和& &之间的差异。如果我也有& C3,& C4 ...等等。

感谢

回答

2

这里是一个不错的链接解释&和& &之间的区别:OraFAQ

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

你可能想要替代变量的是绑定变量。只需用冒号:作为变量名称的前缀,它应该做你想做的事情。绑定变量具有强类型的附加好处,所以您可以指定它是否是字符串,数字,日期等。使用替换变量,文本将插入到SQL本身中,因此您必须将其包装在单引号中以使其成为字符串(例如:'&foo' vs :foo)。

实施例:

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