Wie Variablensubstitution in SQL Developer mit ‚Trinidad und Tobago‘ zu vermeiden

StackOverflow https://stackoverflow.com/questions/2333994

  •  22-09-2019
  •  | 
  •  

Frage

Wenn ich versuche, diese Aussage in Oracle SQL Developer ausführen 2.1 ein Dialogfeld "Enter Substitution Variable" erscheint für einen Neuwert zu fragen Sie sich für TOBAGO

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

Wie kann ich dies vermeiden, ohne auf chr(38) oder u'trinidad \0026 tobago', die sowohl den Zweck der Erklärung verschleiern?

War es hilfreich?

Lösung

Rufen Sie diese vor der Abfrage:

set define off;

Alternativ Hacky:

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

Tuning SQL * Plus :

  

SET DEFINE OFF deaktiviert das Parsen von Befehlen zu ersetzen   Substitutionsvariablen mit ihren Werten.

Andere Tipps

In SQL * Plus setzen SET DEFINE ? an der Spitze des Skripts wird dies in der Regel lösen. Es könnte aber auch für Oracle SQL Developer arbeiten.

dies funktionieren wird, wie Sie ohne CHAR (38) fragte:

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';

Scan ausgeschaltet; Obiger Befehl funktioniert auch.

Ich war zu sehr, um dieses Problem etwas mit. Etwas begann jedes Mal wenn ich oben versucht Setup eine Verbindung zu einem beliebigen DB ..

Was für mich gearbeitet wurde jede Startup-Skript zu entfernen, die Sie konfiguriert haben könnte!

d. Tools>Preferences...>Database und entfernen Sie alle Dateipfad, dass Sie in das Textfeld haben beschriftet „Dateiname für die Verbindung Startskript“!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top