我有一个SQL脚本,它创建一个包含带符号(&)的注释的包.当我从SQL Plus运行脚本时,系统会提示我输入以&开头的字符串的替换值.如何禁用此功能以便SQL Plus忽略&符号?
这可能对你有用:
set define off
否则,&符需要在字符串的末尾,
'StackOverflow &' || ' you'
编辑:保存时我点击了快乐...这是从博客中引用的.
如果您有时使用替换变量,则可能不希望关闭定义.在这些情况下,您可以将&符号从其数字等效项转换为|| Chr(38) ||
或作为单个字符附加到其中|| '&' ||
.
我解决了下面的代码:
set escape on
并在旁边和左边放一个\ 'value_\&_intert'
ATT
您可以通过使用,将执行脚本时查找的特殊字符设置为另一个值 SET DEFINE <1_CHARACTER>
默认情况下,DEFINE函数本身已打开,并且设置为&
它可以被关闭 - 如前所述 - 但也可以通过将其设置为不同的值来避免.要非常清楚你设置的标志.在下面的例子中,我选择了#字符,但这个选择只是一个例子.
SQL> select '&var_ampersand #var_hash' from dual; Enter value for var_ampersand: a value 'AVALUE#VAR_HASH' ----------------- a value #var_hash SQL> set define # SQL> r 1* select '&var_ampersand #var_hash' from dual Enter value for var_hash: another value '&VAR_AMPERSANDANOTHERVALUE' ---------------------------- &var_ampersand another value SQL>