Oracle SQL Developerで「トリニダード&トバゴ」を使用した変数置換を回避する方法


111

Oracle SQL Developer 2.1でこのステートメントを実行しようとすると、ダイアログボックス「Enter Substitution Variable」がポップアップし、TOBAGOの置換値を要求します

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

これに頼らずに、chr(38)またはu'trinidad \0026 tobago'ステートメントの目的を曖昧にすることなく、これをどのように回避できますか?


1
SQL開発者2.1とまったく同じようにクエリを実行しようとしたときに、置換変数ウィンドウが表示されませんでしたか?(そして、私の定義は間違いなくオンに設定されています)
wasatz '25 / 02/25

この質問は私に大いに役立ちました。
Oh Chin Boon、2012年

回答:


191

クエリの前にこれを呼び出します:

set define off;

または、ハッキー:

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

SQL * Plusのチューニングから:

SET DEFINE OFFは、置換変数をそれらの値で置き換えるコマンドの解析を無効にします。


9
他に何をしset define off;ますか?
Xonatron 2012年

15

SQL * Plus SET DEFINE ?では、通常、スクリプトの先頭に置くことでこれを解決します。Oracle SQL Developerでも機能する可能性があります。


2
定義する?SQL Developer 2.1の変数置換動作を抑制します。Nickが述べたように、SET DEFINE OFFも機能します。
Janek Bogucki 2010

set defineは機能しますが、DBAはそれを使用することを許可し
ませ

1

これは、CHAR(38)なしで要求したとおりに機能します。

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

create table table99(col1 varchar(40));
insert into table99 values('Trinidad &' || '  Tobago');
insert into table99 values('Trinidad &' || '  Tobago');
insert into table99 values('Trinidad &' || '  Tobago');
insert into table99 values('Trinidad &' || '  Tobago');
SELECT * FROM table99;

update table99 set col1 = 'Trinidad and Tobago' where col1 = 'Trinidad &'||'  Tobago';

私の質問は、これをを使用せずに行う方法chr(38)です。
Janek Bogucki

@JanekBoguckiは、CHAR(38)を使用せずに、それを正しく解釈します
nikhil sugandh '12年

緑色のチェックされた回答はすでにあるが、
反対票

あなたが私のために解決した苦痛を想像することはできません.SQL開発者は、スクリプトを実行するときにset define offを受け入れません。これが私にとっての解決策
BrokenFrog

-3

これについても問題がありました。DBへの接続をセットアップしようとするたびに、何かが起動していました。

私のために働いたのは、あなたが設定したかもしれない起動スクリプトを削除することでした!

つまりTools>Preferences...>Database、「接続起動スクリプトのファイル名」というラベルの付いたテキストボックスにあるファイルパスをすべて削除します。


-3

スキャンをオフに設定します。上記のコマンドも機能します。


これは質問に対する答えを提供しません。批評したり、著者に説明を求めたりするには、投稿の下にコメントを残します。自分の投稿にはいつでもコメントできます。十分な評判を得ると、どの投稿にもコメントできるようになります。関連しているが異なる質問がある場合は、コンテキストを提供するのに役立つかどうか、この質問を参照する新しい質問をしてください。
Rohan Khude 16
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.