Par défaut, SQL Plus traite '&' comme un caractère spécial qui commence une chaîne de substitution. Cela peut causer des problèmes lors de l'exécution de scripts qui incluent '&' pour d'autres raisons :
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
Si vous savez que votre script inclut (ou peut inclure) des données contenant des caractères '&' et que vous ne souhaitez pas le comportement de substitution comme ci-dessus, utilisez alors set define off
pour désactiver le comportement lors de l'exécution du 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
Vous voudrez peut-être ajouter set define on
à la fin du script pour restaurer le comportement par défaut.