У каждого объекта в БД есть свое уникальное имя. Имена используются в SQL-запросах для указания объектов БД, над которыми запрос должен выполнить действие. Имена имеются у баз данных, таблиц, столбцов, представлений, курсоров и пользователей. Часто в SQL поддерживаются также именованные триггеры, хранимые процедуры, именованные отношения «первичный ключ – внешний ключ» и формы для ввода данных. В SQL имена должны содержать от 1 до 31 символа [прописные и/или строчные буквы латинского алфавита, цифры, символ подчеркивания (_), знак доллара ($)], начинаться с буквы и не содержать пробелы или специальные символы пунктуации:
<идентификатор>::= буква { буква| цифра } ...
В БД диалекта 3 Firebirdподдерживает соглашение ANSI SQL об идентификаторах с разделителями [18]. Для использования зарезервированных слов, символов, чувствительных к регистру, или пробелов в имени объекта следует заключить это имя в двойные кавычки. Такой идентификатор – идентификатор с разделителем. Данные идентификаторы должны быть представлены с двойными кавычками во всех типах запросов SQL. Идентификаторы с разделителями были введены для совместимости со стандартами, но если нет серьезных оснований их использовать, то рекомендуется использовать обычные идентификаторы.
Если в запросе указано имя таблицы, предполагается, что происходит обращение к одной из таблиц подключенной БД. К конкретной таблице БД можно обращаться, только будучи ее владельцем или имея соответствующее разрешение, данное владельцем. Владельцем БД или какой-то ее таблицы считается пользователь, который создает ее.
Если в запросе задается имя столбца, SQL сам определяет, в какой из указанных в этом же операторе таблиц содержится данный столбец. Однако если в запрос требуется включить два столбца из различных таблиц, но с одинаковыми именами, необходимо указать полные имена столбцов. Полное имя столбца состоит из имени таблицы, содержащей столбец, и имени столбца (простого имени), разделенных точкой. Например, полное имя столбца AccountCD (номер лицевого счета абонента) из таблицы Abonentимеет следующий вид: Abonent.AccountCD.
предыдущаяследующая