Sdílet prostřednictvím


Identifikátory v uvozovkách

V příkazu SQL musí být identifikátory obsahující speciální znaky nebo klíčová slova pro shodu uzavřeny do uvozovek identifikátoru; identifikátory uzavřené v takových znacích se označují jako uvozované identifikátory ( také známé jako oddělené identifikátory v SQL-92). Například identifikátor pro "závazky k úhradě" je uveden v následujícím příkazu SELECT:

SELECT * FROM "Accounts Payable"  

Důvodem pro uvozování identifikátorů je učinit příkaz parsovatelným. Pokud například v předchozím příkazu nebyly závazky uvedeny v uvozovkách, analyzátor by předpokládal, že existují dvě tabulky, Účty a Závazky, a vrátil by syntaktickou chybu, že nejsou odděleny čárkou. Znak uvozovky identifikátoru je specifický pro ovladač a je získán pomocí možnosti SQL_IDENTIFIER_QUOTE_CHAR v SQLGetInfo. Seznamy speciálních znaků a klíčových slov se načtou s možnostmi SQL_SPECIAL_CHARACTERS a SQL_KEYWORDS v sqlGetInfo.

Aby byly bezpečné, interoperabilní aplikace často uvozují všechny identifikátory kromě těch pro pseudosloupce, jako je sloupec ROWID v Oracle. SQLSpecialColumns vrátí seznam pseudosloupců. Pokud existují omezení specifická pro aplikaci, kde se mohou speciální znaky objevit v názvu objektu, je nejvhodnější pro interoperabilní aplikace, aby v těchto pozicích nepoužíly speciální znaky.