Tony Andrews..
94
默认情况下,SQL Plus将'&'视为开始替换字符串的特殊字符.运行由于其他原因而包含"&"的脚本时,这可能会导致问题:
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
如果您知道您的脚本包含(或可能包含)包含'&'字符的数据,并且您不希望上述替换行为,那么请set define off在运行脚本时关闭该行为:
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
您可能希望set define on在脚本末尾添加以恢复默认行为.