Oracle
 sql >> база данни >  >> RDS >> Oracle

Кога или защо да използвате SET DEFINE OFF в Oracle Database

По подразбиране 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 в края на скрипта, за да възстановите поведението по подразбиране.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. да инсталирате Oracle Instantclient на Mac OS/X без да задавате променливи на средата?

  2. Има ли разлика между !=и <> в Oracle Sql?

  3. Как да експортирате резултатите от заявката на Oracle в JSON файл, когато използвате SQLcl

  4. Функция SOUNDEX() в Oracle

  5. Как ефективно да конвертирате текст в число в Oracle PL/SQL с NLS_NUMERIC_CHARACTERS, които не са по подразбиране?