Oracle特殊符号&的处理,今天遇到一个问题,同事用动态sql生成的insert语句,其中含有&符号,在做insert时,这个&符号就被作为一个变量提示符了。如何解决这个问题?其实很简单:set define off


SQL>create tablet (avarchar2(20));

 

Table created.

 

SQL> insertinto tvalues('aaa&bbb'); 

Enter valuefor bbb: .

old1:insert intot values('aaa&bbb')

new1:insert intot values('aaa.')

 

1 rowcreated.

 


SQL> rollback;

 

Rollback complete.

 

SQL> 

SQL>--wenow setdefine toOFF,theninsert data.

SQL> setdefine off

SQL> insertinto tvalues('aaa&bbb');

 

1 rowcreated.

 

SQL> select *from t;

 

A

--------------------

aaa&bbb

 

SQL>


我们发现set define off后,带&符号的数据已经插入。