2011-05-07 67 views
3

可能重複:
select * from table_name where column like '&nbsp'如何插入&使用蟾蜍的oracle?

你怎麼插入& symbol如在Oracle數據庫中的數據,使用蟾蜍?例如:

INSERT INTO <table_name> 
    (column) 
VALUES 
    ('AT & T'); 

當執行腳本詢問對於T新的價值...

+0

這是因爲'&'表示綁定變量時,蟾蜍(或SQLPLUS)執行腳本。 – 2011-05-07 14:56:49

+0

[select * from table_name where'列'like'&nbsp'](http://stackoverflow.com/questions/1957436/select-from-table-name-where-column-like-nbsp)的可能重複。另外:http://stackoverflow.com/questions/118190/how-do-i-ignore-ampersands-in-a-sql-script-running-from-sql-plus。有許多重複:http://stackoverflow.com/search?q=[oracle]+%22set+define+off%22 – 2011-05-07 14:57:32

回答

9

使用此:

insert into my_table values ('AT &' || 'T'); 

您也可以嘗試使用:

set define off; 

在您的環境因此&Something不會被視爲輸入變量。但我不知道把它放在TOAD的哪個位置。

+0

這樣一個奇怪的:-S經歷了同樣的問題,並以相同的方式解決它,但可能有沒有關閉佔位符查找的選項? – zerkms 2011-05-07 13:17:11

+0

@zerkms:是的。在** SQLPlus **中設置「定義關閉」。不知道它是否會在** TOAD **中起作用。但100%同意:這很奇怪。我想這仍然是爲了向後兼容。此功能可能至少有25年曆史。 :-) – 2011-05-07 13:18:41

+1

如果定義關閉,則不需要||在'AT&'||中'T' – 2011-05-07 13:38:43

4

SET DEFINE OFF將停止sqlplus解釋&這種方式。

這也將工作

set define off; 
insert into tablename values('AT & T'); 
+1

如何在蛤蟆? – Rose 2011-05-07 13:38:21

+0

試試這個步驟: 進入查看→選項→SQL編輯器→並取消值綁定變量掃描語句之前執行 – 2011-05-07 13:41:23

+0

搜索 執行/編譯選項 - >「提示符替換變量」,取消選擇相同 告訴你這是否適合你? – 2011-05-07 13:42:07