Teilen über


Bezeichner in Anführungszeichen

In einer SQL-Anweisung müssen Bezeichner, die Sonderzeichen enthalten oder mit Schlüsselwort (keyword) übereinstimmen, in Anführungszeichen eingeschlossen werden. In solche Zeichen eingeschlossene Bezeichner werden als Kennungen (auch als durch Trennzeichen in SQL-92 bezeichnet) bezeichnet. Beispielsweise wird der Bezeichner "Kreditorenzahler" in der folgenden SELECT-Anweisung zitiert:

SELECT * FROM "Accounts Payable"  

Der Grund für das Zitieren von Bezeichnern besteht darin, die Anweisung zu analysieren. Wenn beispielsweise "Kreditorenzahlen" in der vorherigen Anweisung nicht zitiert wurde, würde der Parser davon ausgehen, dass zwei Tabellen, Konten und Kreditoren vorhanden waren, und einen Syntaxfehler zurückgeben, der nicht durch ein Komma getrennt wurde. Das Anführungszeichen des Bezeichners ist treiberspezifisch und wird mit der Option SQL_IDENTIFIER_QUOTE_CHAR in SQLGetInfo abgerufen. Die Listen von Sonderzeichen und Schlüsselwort (keyword) werden mit den optionen SQL_SPECIAL_CHARACTERS und SQL_KEYWORDS in SQLGetInfo abgerufen.

Um sicher zu sein, zitieren interoperable Anwendungen häufig alle Bezeichner mit Ausnahme von Pseudospalten, z. B. die ZEILEID-Spalte in Oracle. SQLSpecialColumns gibt eine Liste von Pseudospalten zurück. Wenn es anwendungsspezifische Einschränkungen gibt, in denen Sonderzeichen in einem Objektnamen angezeigt werden können, empfiehlt es sich außerdem, bei interoperablen Anwendungen keine Sonderzeichen in diesen Positionen zu verwenden.