반응형
Oracle 데이터베이스에서 "SET DEFINE OFF"를 사용해야 하는 시기 또는 이유
Oracle에서 스크립트를 보고 있는데 인식할 수 없는 것이 보입니다.
REM INSERTING into database1."Users"
SET DEFINE OFF;
Insert into database1."Users" ("id","right") values ('1','R');
"set define off"에 대한 문서를 찾고 있는데 문자 그대로 "대체 변수를 값으로 대체하기 위한 명령 구문 분석 비활성화"라고 쓰여 있습니다.
나는 그들이 무슨 말을 하고 싶은지 잘 모르겠다.
누가 나를 도와줄 수 있나요?
기본적으로 SQL Plus는 '&'를 대체 문자열을 시작하는 특수 문자로 처리합니다.이로 인해 다음과 같은 이유로 '&'가 포함된 스크립트를 실행할 때 문제가 발생할 수 있습니다.
SQL> insert into customers (customer_name) values ('Marks & Spencers Ltd');
Enter value for spencers:
old 1: insert into customers (customer_name) values ('Marks & Spencers Ltd')
new 1: insert into customers (customer_name) values ('Marks Ltd')
1 row created.
SQL> select customer_name from customers;
CUSTOMER_NAME
------------------------------
Marks Ltd
스크립트에 '&' 문자가 포함된 데이터가 포함되어 있고(또는 포함될 수 있음) 위와 같은 대체 동작을 원하지 않는 경우 를 사용하십시오.set define off
스크립트 실행 중 동작을 끄려면:
SQL> set define off
SQL> insert into customers (customer_name) values ('Marks & Spencers Ltd');
1 row created.
SQL> select customer_name from customers;
CUSTOMER_NAME
------------------------------
Marks & Spencers Ltd
추가할 수 있습니다.set define on
를 클릭하여 기본 동작을 복원합니다.
다음은 예를 제시하겠습니다.
SQL> set define off;
SQL> select * from dual where dummy='&var';
no rows selected
SQL> set define on
SQL> /
Enter value for var: X
old 1: select * from dual where dummy='&var'
new 1: select * from dual where dummy='X'
D
-
X
와 함께set define off
, 그것은 와 다투었다.&var
값을 입력하도록 사용자에게 요청하고 대체했습니다.&var
(이 경우,X
).
언급URL : https://stackoverflow.com/questions/34332639/when-or-why-to-use-a-set-define-off-in-oracle-database
반응형
'programing' 카테고리의 다른 글
변환합니다.뷰의 JSON 개체에 대한 순 개체 (0) | 2023.04.06 |
---|---|
Woocommerce 카테고리 설명 표시 방법 (0) | 2023.04.06 |
*를 'React'에서 React로 Import하고, vs 'React'에서 React를 Import한다. (0) | 2023.04.06 |
구문 분석 오류: 파일 '.../tsconfig'를 읽을 수 없습니다.json'.eslint (0) | 2023.04.06 |
Angular.js - ng-pattern이 $비활성일 경우 ng-change가 실행되지 않음 (0) | 2023.04.06 |