Oracle SQL Escape -Charakter (für ein "&")
-
16-09-2019 - |
Frage
Beim Versuch, SQL -Einfügungsanweisungen mithilfe der Ausführung von SQL -Einfügen auszuführen Oracle SQL -Entwickler Ich generiere immer wieder eine Eingabeaufforderung "Substitution eingeben":
insert into agregadores_agregadores
(
idagregador,
nombre,
url
)
values
(
2,
'Netvibes',
'http://www.netvibes.com/subscribe.php?type=rss\&url='
);
ich habe es versucht dem besonderen Charakter in der Abfrage entkommen Verwenden Sie das oben, aber ich kann das Verstärker nicht vermeiden und '&', was zu einer String -Substitution führt.
Lösung
Das & Definieren ist der Standardwert für Define, mit dem Sie Substitutionsvariablen verwenden können. Ich mag es, es auszuschalten
Einstellen definieren
Dann müssen Sie sich keine Sorgen machen, dass Sie entkommen oder chrt (38).
Andere Tipps
|| chr(38) ||
Diese Lösung ist perfekt.
Setzen Sie den Definieren von Charakter auf etwas anderes als &
SET DEFINE ~ create table blah (x varchar(20)); insert into blah (x) values ('blah&'); select * from blah; X -------------------- blah&
insert into AGREGADORES_AGREGADORES (IDAGREGADOR,NOMBRE,URL)
values (2,'Netvibes',
'http://www.netvibes.com/subscribe.php?type=rss' || chr(38) || 'amp;url=');
SELECT 'Free &' || ' Clear' FROM DUAL;
select 'one'||'&'||'two' from dual
Die eigentliche Antwort ist
Das Problem kann entweder weil die Entfernung deaktiviert war oder der Fluchtcharakter auf etwas anderes als '' eingestellt wurde. Die obige Erklärung ermöglicht das Flucht und Stellen Sie es auf '' ein.
Keine der anderen zuvor veröffentlichten Antworten beantwortet die ursprüngliche Frage tatsächlich. Sie alle arbeiten um das Problem, lösen es aber nicht.