1

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

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

我希望上述语句只要求我在 C1 和 C2 上输入一次,并用它的值替换 2 次。但它问了我 4 次 C1、C2 和 C1 和 C2。

另外,我无法真正理解&和&&之间的区别。如果我也有 &C3, &C4... 等怎么办?

谢谢

4

1 回答 1

2

这是一个很好的链接,解释了 & 和 && 之间的区别:OraFAQ

基本上 & 每次都问你,&& 只问你一次。

您可能想要的是绑定变量而不是替换变量。只需在变量名称前加上冒号:,它就可以满足您的要求。绑定变量具有强类型的额外好处,因此您可以指定它是否是字符串、数字、日期等。使用替代变量,文本被插入到 SQL 本身中,因此您必须将其包裹在单引号中以使其成为字符串(例如:'&foo'vs 仅:foo用于绑定变量)。

例子:

SELECT :foo as x
     , :bar as y
     , some_column
FROM my_table
WHERE some_other_column = :foo
于 2013-05-06T00:21:47.967 回答