Лексемы

Функция

Определение лексических единиц SQL-языка.

Спецификация

           
<​идентификатор​>::=
<​стандартный идентификатор​>::=
<​ключевое слово​>::=
неопределяемый элемент синтаксической конструкции
<​разделитель​>::=
, | ( | ) | <​ | ​> | . | : | = | * | + | - | / | <​​> | ​>= | <​= | комментарий
<​однострочный комментарий​>::=
-- [символ …]
<​многострочный комментарий​>::=
/* [символ …] */
<​символ​>::=
любой символ или графический знак

Синтаксические правила

  1. <​Идентификатор​> должен содержать не более 66-ти символов.

  2. <​Идентификатор​> может быть представлен двумя способами:

    • без двойных кавычек. В этом случае символами <​идентификатора​> могут быть только цифры, латинские буквы, знаки подчеркивания (_) и доллара ($). <​Идентификатор​> может начинаться с символа $ или _ и не должен совпадать с ключевыми словами СУБД ЛИНТЕР. Все такие <​идентификаторы​> приводятся к верхнему регистру.

      Примечание

      Во избежание возможных коллизий не рекомендуется использовать имена, начинающиеся с символа $, т.к. их присваивает СУБД ЛИНТЕР создаваемым ею объектам БД.

      Одинаковые идентификаторы:

        BANK, Bank 
    • заключен в двойные кавычки. В этом случае могут использоваться любые символы. <​Идентификатор​> может совпадать с ключевыми словами СУБД ЛИНТЕР, и преобразование регистра представления знаков <​идентификатора​> не выполняется.

      Разные идентификаторы:

      "BANK", "Bank", "банк", "Банк"

      Допустимые идентификаторы:

      "Table", SYSTEM."Склад", "Табельный номер"
  3. <​Идентификаторы​>, не упомянутые как ключевые в стандарте SQL (см. приложение 1), считаются ключевыми только в том случае, если они встречаются в определенном контексте (см. приложение 2).

    Таким образом, контекстно зависимые ключевые слова распознаются только в том контексте, где они могут встретиться, в других случаях они считаются идентификаторами.