我的问题是关于 SQL Developer 中 Substitute 变量的使用。
从 X 中选择 &C1、&C2,其中 &C1 = 'abc123' 和 &C2 = 9999;
我希望上述语句只要求我在 C1 和 C2 上输入一次,并用它的值替换 2 次。但它问了我 4 次 C1、C2 和 C1 和 C2。
另外,我无法真正理解&和&&之间的区别。如果我也有 &C3, &C4... 等怎么办?
谢谢
我的问题是关于 SQL Developer 中 Substitute 变量的使用。
从 X 中选择 &C1、&C2,其中 &C1 = 'abc123' 和 &C2 = 9999;
我希望上述语句只要求我在 C1 和 C2 上输入一次,并用它的值替换 2 次。但它问了我 4 次 C1、C2 和 C1 和 C2。
另外,我无法真正理解&和&&之间的区别。如果我也有 &C3, &C4... 等怎么办?
谢谢
这是一个很好的链接,解释了 & 和 && 之间的区别:OraFAQ
基本上 & 每次都问你,&& 只问你一次。
您可能想要的是绑定变量而不是替换变量。只需在变量名称前加上冒号:
,它就可以满足您的要求。绑定变量具有强类型的额外好处,因此您可以指定它是否是字符串、数字、日期等。使用替代变量,文本被插入到 SQL 本身中,因此您必须将其包裹在单引号中以使其成为字符串(例如:'&foo'
vs 仅:foo
用于绑定变量)。
例子:
SELECT :foo as x
, :bar as y
, some_column
FROM my_table
WHERE some_other_column = :foo