Theo mặc định, SQL Plus xử lý '&' làm ký tự đặc biệt bắt đầu chuỗi thay thế. Điều này có thể gây ra vấn đề khi chạy kịch bản đó xảy ra để bao gồm '&' vì những 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 kịch bản của bạn bao gồm (hoặc có thể bao gồm) dữ liệu có chứa '&' nhân vật, và bạn không muốn thay thế hành vi như trên, sau đó sử dụng set define off
để tắt hành vi trong khi chạy kịch bản:
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
ở phần cuối của kịch bản để khôi phục lại các hành vi mặc định.
Nguồn
2015-12-17 11:48:42
sẽ tắt nhắc các biến thay thế. do đó bạn không được nhắc chèn giá trị khi nó thấy biến thay thế của bạn, tôi tin rằng mặc định là &. –
Đây là cài đặt cho SQL _client_, không phải là chính cơ sở dữ liệu. Và do đó nó được ghi lại trong sách hướng dẫn SQL * Plus: http://docs.oracle.com/cd/E11882_01/server.112/e16604/ch_twelve040.htm#SQPUG073 –