分享方式:


引號識別碼

在 SQL 語句中,包含特殊字元或比對關鍵詞的標識碼必須以標識元引號字元括住;以這類字元括住的標識元稱為引號標識碼(也稱為 SQL-92 中的分隔標識符)。 例如,在下列 SELECT 陳述式中會以引號括住應付帳款識別碼:

SELECT * FROM "Accounts Payable"  

使用引號識別碼的原因是讓陳述式可剖析。 例如,如果上一個陳述式中應付帳款未加上引號,剖析器會假設有兩個資料表 Accounts 和 Money,並傳回語法錯誤,指出這些應付帳款並未以逗號分隔。 識別碼引號字元是驅動程式特定的字元,並使用 SQLGetInfo 中的 [SQL_IDENTIFIER_QUOTE_CHAR] 選項來擷取。 特殊字元和關鍵字的清單是使用 SQLGetInfo 中的 SQL_SPECIAL_CHARACTERS 和 SQL_KEYWORDS 選項擷取而來。

為了安全,互通的應用程式通常會用引號括住虛擬資料行的識別碼以外的所有識別碼,例如 Oracle 中的 ROWID 資料行。 SQLSpecialColumns 會傳回虛擬資料行的清單。 此外,如果有特定應用程式限制,特殊字元可以出現在物件名稱中,互通的應用程式最好不要在這些位置使用特殊字元。