插入數據時有特殊字符&且後面有字符被誤認爲變量名(insert時提示:輸入值於***)

當出現如下報錯時請檢查你的SQL,肯定是值裏面有特殊字符&。如果是沒有用的直接刪除就可以了,如果有用那麼就需要處理一下了(默認插入值中帶&符號,且後面有字符串,就會被誤認爲變量名)。
處理方法(意思是要把&用單引號單獨引起來,然後用拼接的方式來處理這一列)

將    &    替換爲    '||'&'||'

在plsql developer上回出現如下圖提示
插入數據時有特殊字符&且後面有字符被誤認爲變量名(insert時提示:輸入值於***)

在sqlplus就是如下提示

SQL> insert into va values('T&K/泰恩康');
輸入 k 的值:  只是個符號我不想要賦值。。。。
原值    1: insert into va values('T&K/泰恩康')
新值    1: insert into va values('T只是個符號我不想要賦值。。。。/泰恩康')
已創建 1 行。
SQL> select * from va;
FS_FAILOVER_OBSERVER_HOST
--------------------------------------------------------------------------------
T只是個符號我不想要賦值。。。。/泰恩康

使用單引號和拼接方法,將&和被誤認爲變量名的字符隔離開拼接處理。

SQL> insert into va values('T'||'&'||'K/泰恩康');
已創建 1 行。
SQL> select * from va;
FS_FAILOVER_OBSERVER_HOST
--------------------------------------------------------------------------------
T&K/泰恩康

其實後面跟的是空格就不會有影響,可以直接插入。

SQL> insert into va values('a7 & >d');
已創建 1 行。
SQL> select * from va;
FS_FAILOVER_OBSERVER_HOST
--------------------------------------------------------------------------------
a7 & >d
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章