[SQL] 어떻게 SQL 플러스에서 실행하는 SQL 스크립트에서 앰퍼샌드를 무시합니까?
SQL어떻게 SQL 플러스에서 실행하는 SQL 스크립트에서 앰퍼샌드를 무시합니까?
나는 앰퍼샌드 (&)를 포함하는 코멘트와 함께 패키지를 생성하는 SQL 스크립트가 있습니다. 나는 SQL 플러스에서 스크립트를 실행하면, 나는 &로 시작하는 문자열에 대한 대체 값을 입력하라는 메시지입니다. 그 SQL Plus는 앰퍼샌드을 무시 그래서 어떻게하면이 기능을 해제 할 수 있습니까?
해결법
-
==============================
1.이것은 당신을 위해 작동 할 수 있습니다 :
이것은 당신을 위해 작동 할 수 있습니다 :
set define off
그렇지 않으면 앰퍼샌드 문자열의 끝에 있어야합니다,
'StackOverflow &' || ' you'
편집 : 나는이 작업은 블로그에서 참조 된 ... 클릭 - 행복 저장할 때이었다.
-
==============================
2.가끔 대체 변수를 사용하는 경우가 꺼 정의를 켜려고하지 않을 수 있습니다. 이러한 경우에는 같이 그 숫자 동등한에서 앰퍼샌드를 변환 할 수 || 대하 (38) || 또는 같은 단일 문자로 추가 || '&'||.
가끔 대체 변수를 사용하는 경우가 꺼 정의를 켜려고하지 않을 수 있습니다. 이러한 경우에는 같이 그 숫자 동등한에서 앰퍼샌드를 변환 할 수 || 대하 (38) || 또는 같은 단일 문자로 추가 || '&'||.
-
==============================
3.나는 아래의 코드로 해결 :
나는 아래의 코드로 해결 :
set escape on
및 왼쪽에서 옆에 \를 넣어 '값 _ \ & _ intert'
에
-
==============================
4.당신은 SET를 사용에 의해 다른 값으로 스크립트의 실행에 대한보고되는 특수 문자를 설정할 수 있습니다 <1_CHARACTER> DEFINE
당신은 SET를 사용에 의해 다른 값으로 스크립트의 실행에 대한보고되는 특수 문자를 설정할 수 있습니다 <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>
-
==============================
5.세트는 <오프 정의 -이 최고의 솔루션 I의 발견
세트는 <오프 정의 -이 최고의 솔루션 I의 발견
나는 또한 시도 ...
세트 정의}
나는 앰퍼샌드 문자 '&'포함 된 여러 레코드를 삽입 할 수 있었다 그러나 나는 텍스트로 '}'문자를 사용할 수 없습니다 내가 사용하기로 결정 그래서 "세트 오프 정의"모든 것이 예상대로 작동합니다.
-
==============================
6.이 좋은 FAQ에 따르면 몇 가지 솔루션이 있습니다.
이 좋은 FAQ에 따르면 몇 가지 솔루션이 있습니다.
당신은 또한 당신이 설명을 수정할 수 있습니다 경우 백 슬래시 문자 \와 앰퍼샌드 탈출 할 수 있습니다.
-
==============================
7.내가 가진 CASE 문을했을 때 다음 열 = 'sometext 및 더 많은 텍스트'....
내가 가진 CASE 문을했을 때 다음 열 = 'sometext 및 더 많은 텍스트'....
나는 그것을 대체 열이 = 언제 'sometext'|| CHR (38) || THEN '더 많은 텍스트'...
당신은 또한 사용할 수 있습니다 언제 열 LIKE 'sometext _ 더 많은 텍스트'THEN ...
(_ 와일드 카드는 단일 문자입니다)
from https://stackoverflow.com/questions/118190/how-do-i-ignore-ampersands-in-a-sql-script-running-from-sql-plus by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 계층 구조 달성 부모 / 효과적이고 쉬운 방법으로 자식 관계 (0) | 2020.03.19 |
---|---|
[SQL] 나는 완전 외부 쓰기 어떻게 액세스 쿼리에 가입 (0) | 2020.03.19 |
[SQL] 데이터베이스 나 시스템 파일에서 이미지를 저장? [닫은] (0) | 2020.03.19 |
[SQL] (오라클) 각 그룹에 대해 최고 결과를 얻을 수 있습니다 (0) | 2020.03.19 |
[SQL] WHERE COL IN (...) 조건에 대한 제한 (0) | 2020.03.19 |