Бөлісу құралы:


Заключенные в кавычки идентификаторы

В инструкции SQL идентификаторы, содержащие специальные символы или соответствующие ключевое слово, должны быть заключены в символы кавычек идентификаторов; идентификаторы, заключенные в такие символы, называются кавычками (также известны как идентификаторы с разделителями в SQL-92). Например, идентификатор кредиторской задолженности по счетам цитируется в следующей инструкции SELECT :

SELECT * FROM "Accounts Payable"  

Причина использования идентификаторов квоирования заключается в том, чтобы сделать оператор доступным для синтаксического анализа. Например, если в предыдущем заявлении не указана оплата счетов, средство синтаксического анализа предполагает наличие двух таблиц, счетов и кредиторов, а также возвращает синтаксическую ошибку, которая не была разделена запятой. Символ кавычки идентификатора зависит от драйвера и извлекается с параметром SQL_IDENTIFIER_QUOTE_CHAR в SQLGetInfo. Списки специальных символов и ключевое слово извлекаются с параметрами SQL_SPECIAL_CHARACTERS и SQL_KEYWORDS в SQLGetInfo.

Чтобы быть безопасными, приложения взаимодействия часто цитируют все идентификаторы, за исключением псевдоколонок, таких как столбец ROWID в Oracle. SQLSpecialColumns возвращает список псевдоколонок. Кроме того, если существуют ограничения, связанные с приложением, в которых специальные символы могут отображаться в имени объекта, лучше всего использовать специальные символы в этих позициях.