Системы обработки информации - язык баз данных SQL

<Спецификация столбца> (<column specification>)


Функция

Указание именованного столбца.

Формат

<column specification> ::=

[<qualifier>.] <column name>

<qualifier> ::=

<table name> | <correlation name>

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

  • <Спецификация столбца> указывает именованный столбец. Смысл указания столбца зависит от контекста.
  • Пусть C <имя столбца> (<column name>) в <спецификации столбца> (<column specification>).
  • Тогда:


    a) Если <спецификация столбца> (<columnspecification>) содержит <квалификатор>(<qualifier>), то <спецификация столбца> должна содержаться в области действия одного или более <иментаблиц> (<table name>) или <имен кореляции>(<correlation name>), равных <квалификатору>(<qualifier>). Если таких <имен таблиц> (<tablename>) или <имен кореляции> (<correlation name>)больше одного, то используется имя с наиболее локальной областью действия. Таблица, ассоциированнаяс указанным <именем таблицы> (<table name>) или<именем кореляции> (<correlation name>), должнавключать столбец с <именем столбца> (<column name>) C.


    b) Если <спецификация столбца> (<columnspecification>) не включает <квалификатор>(<qualifier>), то она должна содержаться в областидействия одного или более <имен таблиц> (<tablename>) или <имен кореляции> (<correlation name>).Пусть фраза "возможные квалификаторы" обозначает те<имена таблиц> (<table name>) и <имена корреляций>(<correlation name>), для которых ассоциированныетаблицы включают столбец, <имя столбца> (<columnname>) которого есть C. Должен существовать в точности один возможный квалификатор с наиболее локальной областью действия, и это <имя таблицы>(<table name>) или <имя корреляции> (<correlationname>) неявно используется.


    Замечание: "Область действия" <имени таблицы> (table name> или <имени кореляции> (<correlation name>) специфицируется в "<Раздел from> (<from clause>)", , "<Определение таблицы> (<table definition>)" , , "<Оператор удаления: поисковый> (<delete statement: searched>)" , , "<Оператор модификации: позиционный> (<update statement: positioned>)" и , "<Оператор модификации: поисковый>(<updatestatement: searched>)".


  • Если <спецификация столбца> (<column specification>) содержится в <выражении над таблицами> (<table expression>) T и область действия явно или неявно указанного <квалификатора> (<qualifier>) <спецификации столбца> (<column specification>) есть некоторый <оператор SQL> (<SQL statement>) или <выражение над таблицами> (<table expression>), содержащее <выражение над таблицами> (<table expression>) T, то <спецификация столбца> (<column specification>) является "внешней ссылкой" на таблицу, ассоциированную с этим <квалификатором> (<qualifier>).


  • Пусть T обозначает таблицу, ассоциированную с явно или неявно специфицированным <квалификатором> (<qualifier>) R. Тип данных <спецификации столбца> (<column specification>) есть тип данных столбца C таблицы T.


  • Общие правила

  • "C" или "R.C" ссылаются на столбец C данной строки T.



  • Содержание раздела