Theo mặc định, SQL Plus coi '&' là một ký tự đặc biệt bắt đầu một chuỗi thay thế. Điều này có thể gây ra sự cố khi chạy các tập lệnh bao gồm '&' vì các lý do khác:
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
Nếu bạn biết tập lệnh của mình bao gồm (hoặc có thể bao gồm) dữ liệu chứa các ký tự '&' và bạn không muốn hành vi thay thế như trên, thì hãy sử dụng set define off
để tắt hành vi trong khi chạy tập lệnh:
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
Bạn có thể muốn thêm set define on
ở cuối tập lệnh để khôi phục hành vi mặc định.