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