Standardmäßig behandelt SQL Plus '&' als Sonderzeichen, das eine Substitutionszeichenfolge beginnt. Dies kann aus anderen Gründen Probleme beim Ausführen von Skripten verursachen, die zufällig '&' enthalten:
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
Wenn Sie wissen, dass Ihr Skript Daten enthält (oder enthalten kann), die '&'-Zeichen enthalten, und Sie das Ersetzungsverhalten wie oben nicht wünschen, verwenden Sie set define off
um das Verhalten während der Ausführung des Skripts auszuschalten:
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
Vielleicht möchten Sie set define on
hinzufügen am Ende des Skripts, um das Standardverhalten wiederherzustellen.