sql >> Databáze >  >> RDS >> Oracle

Kdy nebo proč použít SET DEFINE OFF v databázi Oracle

Ve výchozím nastavení SQL Plus považuje '&' za speciální znak, který začíná substituční řetězec. To může způsobit problémy při spouštění skriptů, které náhodou obsahují '&' z jiných důvodů:

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

Pokud víte, že váš skript obsahuje (nebo může obsahovat) data obsahující znaky '&' a nechcete, aby se substituční chování chovalo výše, použijte set define off pro vypnutí chování při spouštění skriptu:

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

Možná budete chtít přidat set define on na konci skriptu pro obnovení výchozího chování.



  1. Jak funguje WEIGHT_STRING() v MariaDB

  2. Připojení k databázi Oracle pomocí Sql Server Integration Services

  3. Přidejte parametr data do dotazu Oracle

  4. Chyba mysql node.js:ECONNREFUSED