답변:
이것은 당신을 위해 일할 수 있습니다.
set define off
그렇지 않으면 앰퍼샌드가 문자열 끝에 있어야합니다.
'StackOverflow &' || ' you'
편집 : 저장할 때 클릭 만족했습니다 ... 이것은 블로그 에서 참조되었습니다 .
가끔 대체 변수를 사용하는 경우 정의를 끄고 싶지 않을 수 있습니다. 이 경우 앰퍼샌드를 in과 같은 숫자에서 변환 || Chr(38) ||
하거나 에서와 같이 단일 문자로 추가 할 수 || '&' ||
있습니다.
스크립트 실행시 찾는 특수 문자를 다른 값으로 설정할 수 있습니다. 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>
이 멋진 FAQ 에 따르면 몇 가지 해결책이 있습니다.
\
주석을 수정할 수있는 경우 백 슬래시 문자로 앰퍼샌드를 이스케이프 할 수도 있습니다 .
set escape on