2010-02-25 34 views
89

當我嘗試在Oracle SQL Developer 2.1中執行此語句時,出現一個對話框「輸入替代變量」彈出詢問替換值爲TOBAGO如何避免使用'trinidad&tobago'的Oracle SQL Developer中的變量替換

update t set country = 'Trinidad and Tobago' where country = 'trinidad & tobago'; 

我怎樣才能避免這種情況,而不訴諸chr(38)u'trinidad \0026 tobago'這兩個晦澀的語句的目的是什麼?

+1

奇怪的是,當我試圖運行一個完全像SQL Developer 2.1中的查詢時,我沒有得到替換變量窗口? (而我的定義肯定是對的) – wasatz 2010-02-25 12:55:44

+0

這個問題對我很有幫助。 – 2012-10-04 01:59:44

回答

145

調用此查詢之前:

set define off; 

另外,哈克:

update t set country = 'Trinidad and Tobago' where country = 'trinidad &' || ' tobago'; 

Tuning SQL*Plus

SET DEFINE OFF禁止命令的解析,以取代 個替代變量及其值。

+8

什麼(其他)'定義關閉;'做? – Xonatron 2012-03-16 18:54:00

12

在SQL * Plus中,將SET DEFINE ?放在腳本的頂部通常會解決此問題。也可能爲Oracle SQL Developer工作。

+1

SET DEFINE?確實會抑制SQL Developer 2.1中的變量替換行爲。正如Nick SET DEFINE OFF所指出的那樣。 – 2010-02-25 13:03:53

-3

我也遇到過一些問題。每當我嘗試建立與任何數據庫的連接時,都會啓動一些東西。

對我而言,有效的方法是刪除您可能已配置的任何啓動腳本!

Tools>Preferences...>Database和 刪除文本框中標有 「用於連接啓動腳本的文件名」的文件路徑!

-2

設置掃描關閉; 以上命令也適用。

+0

這不提供問題的答案。要批評或要求作者澄清,請在其帖子下方留言 - 您可以隨時對自己的帖子發表評論,一旦您獲得了足夠的聲譽,您就可以對任何帖子發表評論。如果您有一個相關但不同的問題,請提出一個引用此問題的新問題,如果它有助於提供上下文。 – 2016-08-08 07:36:22