Per impostazione predefinita, SQL Plus considera '&' come un carattere speciale che inizia una stringa di sostituzione. Ciò può causare problemi durante l'esecuzione di script che includono "&" per altri motivi:
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
Se sai che il tuo script include (o può includere) dati contenenti '&' caratteri e non desideri il comportamento di sostituzione come sopra, usa set define off
per disattivare il comportamento durante l'esecuzione dello script:
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
Potresti voler aggiungere set define on
al termine dello script per ripristinare il comportamento di default.