今天遇到一個問題,同事用動態sql生成的insert語句,其中含有&符號,在做insert時,這個&符號就被作爲一個變量提示符了。如何解決這個問題?其實很簡單:set define off
Table created.
SQL> insert into t values('aaa&bbb');
Enter value for bbb: .
old 1: insert into t values('aaa&bbb')
new 1: insert into t values('aaa.')
1 row created.
SQL> rollback;
Rollback complete.
SQL>
SQL>--we now set define to OFF,then insert data.
SQL> set define off
SQL> insert into t values('aaa&bbb');
1 row created.
SQL> select * from t;
A
--------------------
aaa&bbb
SQL>
我們發現set define off後,帶&符號的數據已經插入。