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í.