Мегаобучалка Главная | О нас | Обратная связь


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



2019-05-23 202 Обсуждений (0)
Синтаксические правила 0.00 из 5.00 0 оценок




1. Применимые <привилегии> (<privileges>) к <имени таблицы> (<table name>) должны включать INSERT.
Замечание: Применимые <привилегии> (<privileges>) для <имени таблицы> (<table name>) определяются в 6.10, "<определение привилегий> (<privileges definition>)".

2. Пусть Т обозначает таблицу, идентифицируемую <именем таблицы> (<table name>). Т не должна быть только читаемой таблицей или таблицей, которая идентифицируется в <разделе from> (<from clause>) <спецификации запроса> (<query specification>) или какого-либо <подзапроса> (<subquery>), содержащегося в <спецификации запроса> (<query specification>).

3. Каждое <имя столбца> (<column name>) в <списке столбцов вставки> (<insert column list>) должно идентифицировать столбец Т, и один и тот же столбец не должен быть идентифицирован более одного раза. Отсутствие <списка столбцов вставки> (<insert column list>) является неявной спецификацией <списка столбцов вставки> (<insert column list>), который идентифицирует все столбцы Т в порядке возрастания их порядковых позиций внутри Т.

4. Столбец, идентифицированный в <списке столбцов вставки> (<insert column list>), является объектным столбцом.

5.
а) Если указывается <список вставляемых значений> (<insert value list>), то число <вставляемых значений> (<insert value>) в этом <списке вставляемых значений> (<insert value list>) должно быть равно числу <имен столбцов> (<column name>) в <списке вставляемых столбцов> (<insert column list>). Пусть i-ый элемент <оператора вставки> (<insert statement>) указывает на i-ую <спецификацию значения> (<value specification>) в этом <списке вставляемых значений> (<insert value list>).
b) Если указывается <спецификация запроса> (<query specification>), то степень таблицы, специфицированной этой <спецификацией запроса> (<query specification>), должна быть равна числу <имен столбцов> (<column name>) в <списке вставляемых столбцов> (<insert column list>). Пусть i-ый элемент <оператора вставки> (<insert statement>) указывает на i-ый столбец таблицы, специфицированной <спецификацией запроса> (<query specification>).

6. Если i-ый элемент <оператора вставки> (<insert statement>) не является неопределенным <значением вставки> (<insert statement>), то:
а) Если тип данных столбца таблицы Т, указанный i-ым <именем столбца> (<column name>), является типом символьных строк длины L, то тип данных i-ого элемента <оператора вставки> (<insert statement>) должен быть типом символьных строк с длиной меньшей или равной L.
b) Если тип данных столбца таблицы Т, указанный i-ым <именем столбца> (<column name>), является типом точных чисел, то тип данных i-ого элемента <оператора вставки> (<insert statement>) должен быть типом точных чисел.
c) Если тип данных столбца таблицы Т, указанный i-ым <именем столбца> (<column name>), является типом приблизительных чисел, то тип данных i-ого элемента <оператора вставки> (<insert statement>) должен быть типом приблизительных чисел или типом точных чисел.

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

1. Строка вставляется по следующим шагам:
а) Фактически создается возможная строка, как это указано в Общих правилах 6.4, "<Раздел умолчания> (<default clause>)". Если Т - это базовая таблица В, то возможная строка включает каждый столбец В. Если Т - это представляемая таблица, то возможная строка включает каждый столбец базовой таблицы В, из которой порождается Т.
b) Для каждого объектного столбца в возможной строке его значение заменяется на вставляемое значение.
c) Возможная строка вставляется в таблицу В.

2. Если Т - представляемая таблица, определенная через <определение представления> (<view definition>) с "WITH CHECK OPTION", то если <спецификация запроса> (<query specification>), содержащаяся в <определении представления> (<view definition>), включает <раздел where> (<where clause>), не содержащийся в <подзапросе> (<subquery>), то <условие поиска> (<search condition>) этого <раздела where> (<where clause>) должно быть истинным для возможной строки.

3. Если указывается <список вставляемых значений> (<insert value list>), то:
а) Если i-ое <вставляемое значение> (<insert value>) из <списка вставляемых значений> (<insert value list>) является <спецификацией значения> (<value specification>), то значение столбца возможной строки, соответствущего i-ому объектному столбцу, является значением этой <спецификации значения> (<value specification>).
b) Если i-ое <вставляемое значение> (<insert value>) из <списка вставляемых значений> (<insert value list>) является неопределенным значением, то значение столбца возможной строки, соответствующего i-ому объектному столбцу, является неопределенным значением.

4. Если указывается <спецификация запроса> (<query specification>), то пусть R обозначает результат этой <спецификации запроса> (<query specification>). Если R пуст, то параметру SQLCODE присваивается значение 100, и никакая строка не вставляется. Число созданных возможных строк равно мощности R. Вставляемые значения одной возможной строки являются значениями одной строки R, и значения в одной строке R являются вставляемыми значениями одной возможной строки.

5. Пусть V обозначает строку R или последовательность значений специфицированных <списком вставляемых значений> (insert value list>). Тогда i-ое значение V является вставляемым значением объектного столбца, идентифицируемого i-ым <именем столбца> (<column name>) в <списке вставляемых столбцов> (<insert column list>).

6. Пусть С обозначает объектный столбец. Пусть v обозначает не неопределенное вставляемое значение С.

7.
а) Если тип данных С есть тип символьных строк и длина v равна длине С, то значение С устанавливается в v.
b) Если тип данных С есть тип символьных строк и длина M v меньше L, то первые M символов C устанавливаются в v, и в последние L-M символы C заносится символ пробела.
c) Если тип данных С есть тип точных чисел, то должно существовать представление значения v в типе данных С такое, чтобы не потерялись никакие первые значащие цифры, и это представление становится значением С.
d) Если тип данных С есть тип приблизительных чисел, то значением С становится приблизительное значение v.

8.8. <Оператор открытия> (<open statement>)

Функция

Открывает курсор

Формат

<open statement> ::=

          OPEN <cursor name>



2019-05-23 202 Обсуждений (0)
Синтаксические правила 0.00 из 5.00 0 оценок









Обсуждение в статье: Синтаксические правила

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (202)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.009 сек.)