Vinzenz Mai: Liste mit reservierten Wörtern

Beitrag lesen

Hallo,

gibt es eine Liste von Schlüsselwörtern (z.B. LIKE, REGEX usw.) für Mysql, MSSql, Oracle und PostgrSQL?

ja, es gibt solche Listen. Sie sind nicht besonders schwierig zu finden :-)

Ich brauch nur eine Liste, ich will nicht die ganzen Dokus nach jeder einzelnen Funktion durchforsten. Hab zumindest in der Doku zu MySQL nix gefunden.

nein? Kapitel Language Structure, Abschnitt Reserved Words

Ich brauch diese Liste zur Auswertung in einer Klasse, die Querys automatisch zusammenbaut und über bestimmte Teile ein mysql_real_escape_string (aktuell ist die Klasse nur für Mysql, wird aber später auf andere Systeme erweitert) gejagt.

das ist falsch. Reservierte Wörter sind in Zeichenketten überhaupt kein Problem. Sie sind dann ein Problem, wenn sie als Identifier für Spalten, Tabellen oder ähnliches verwendet werden. Die Behandlung ist selbstverständlich eine andere als die für Zeichenketten.

MySQL verwendet dafür standardmäßig Backticks, z.B. LIKE kann aber auch in den Modus ANSI-Quotes gebracht werden: dann sind's doppelte Anführungszeichen, d.h. "LIKE".

T-SQL (z.B. MS-SQL) packt solche Namen in eckige Klammern [LIKE], kann aber auch in den Modus ANSI-Quotes gebracht werden: dann sind's doppelte Anführungszeichen, d.h. "LIKE".

DB2 verwendet soweit ich mich erinnere standardmäßig ANSI-Quotes, d.h. "LIKE".
Wenn PostgreSQL Quotes verwendet, werden Namen case-sensitive, ohne Quotes sind sie's nicht ...

Deswegen: die beste Strategie ist: immer quoten, so wie es phpMyAdmin macht, so wie es das SQL-Management-Studio von Microsoft macht.

Oracle überlasse ich anderen ;-)

Freundliche Grüße

Vinzenz