Heim  >  Artikel  >  php教程  >  Detaillierte Einführung in Escape-Zeichen in Oracle

Detaillierte Einführung in Escape-Zeichen in Oracle

高洛峰
高洛峰Original
2017-01-06 11:41:041461Durchsuche

Ich bin kürzlich auf die Anforderung gestoßen, dass ich ein Feld „Flag“ aller Tabellen in der Oracle-Datenbank auf „I“ aktualisieren muss. Die Anweisung lautet:

update table_name set flag = 'I'

„I“ wird als Zeichenfolge verwendet, daher muss ich in der Anweisung in einfache Anführungszeichen gesetzt werden.

Da es mehrere Tabellen in der Datenbank gibt, möchte ich keine Anweisungen einzeln schreiben. Ich hoffe, alle Anweisungen direkt über SQL-Anweisungen zu generieren, also habe ich die folgende SQL geschrieben:

select 'update ' || table_name || ' set flag = 'I'' || ';' from user_tables

Beim Ausführen zu diesem Zeitpunkt wird „Fehlerbericht: ORA-00923: Das erforderliche FROM-Schlüsselwort wurde nicht gefunden“ angezeigt „I“ aufgrund der Übereinstimmungsbeziehung mit einfachen Anführungszeichen. , I ist keine Zeichenfolge, daher wird ein Fehler gemeldet. Was soll ich also tun, wenn ich ein einfaches Anführungszeichen anzeigen möchte?

Ich habe die Anweisung versucht:

select ''' from dual

wird auch einen Fehler melden. Es stellt sich heraus, dass „'“ als Schlüsselwort verwendet wird Um ein Escape-Zeichen zu verwenden, genau wie bei Javas „“. >

Wie ist das zweite einfache Anführungszeichen „'“ zu verstehen? Ändern Sie es einfach in „“, sodass ich folgende SQL-Anweisung benötige:

select '''' from dual

Das ist OK!

select 'update ' || table_name || ' set flag = ''I''' || ';' from user_tables
Zusammenfassung

Das Obige dreht sich alles um Oracle-Escape-Zeichen. Ich hoffe, dass der Inhalt dieses Artikels für das Studium oder die Arbeit hilfreich sein kann , Sie können eine Nachricht hinterlassen, um zu kommunizieren.

Weitere Oracle-Übertragungen finden Sie auf der chinesischen PHP-Website
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn