Partilhar via


Identificadores cotados

Em uma instrução SQL, identificadores contendo caracteres especiais ou palavras-chave correspondentes devem ser incluídos em caracteres de cotação do identificador; identificadores incluídos em tais caracteres são conhecidos como identificadores entre aspas (também conhecidos como identificadores delimitados no SQL-92). Por exemplo, o identificador de Contas a Pagar é citado no seguinte SELECT extrato:

SELECT * FROM "Accounts Payable"  

A razão para citar identificadores é tornar a instrução analisável. Por exemplo, se Contas a Pagar não fosse mencionado na instrução anterior, o analisador presumiria que havia duas tabelas, Contas e Pagar, e retornaria um erro de sintaxe indicando que não estavam separadas por uma vírgula. O carácter de aspas do identificador é específico do driver e é recuperado com a opção SQL_IDENTIFIER_QUOTE_CHAR em SQLGetInfo. As listas de caracteres especiais e de palavras-chave são recuperadas com as opções SQL_SPECIAL_CHARACTERS e SQL_KEYWORDS em SQLGetInfo.

Para serem seguros, os aplicativos interoperáveis geralmente citam todos os identificadores, exceto aqueles para pseudocolunas, como a coluna ROWID no Oracle. SQLSpecialColumns retorna uma lista de pseudocolunas. Além disso, se houver restrições específicas do aplicativo sobre onde caracteres especiais podem aparecer em um nome de objeto, é melhor para aplicativos interoperáveis não usar caracteres especiais nessas posições.