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


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



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




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

2. Содержащий <модуль> (<module>) должен содержать <объявление курсора> (<declare cursor>) CR с тем же <именем курсора> (<cursor name>), что и <имя курсора> (<cursor name>) в <операторе модификации: позиционном> (<update statement: positioned>).

3. Таблица, на которую указывает CR, не должна быть только читаемой.

4. Пусть Т обозначает таблицу, идентифицируемую <именем таблицы> (<table name>). Т должна быть таблицей, идентифицированной в первом <разделе from> (<from clause>) <спецификации курсора> (<cursor specification>) CR.

5. <Выражение, вырабатывающее значение> (<value expression>) в <разделе установки: позиционной> (<set clause: positioned>) не должно включать <спецификацию функции над множеством> (<set function specification>).

6. Каждое <имя столбца> (<column name>), специфицированное как <объектный столбец: позиционный> (<object column: positioned>), должно идентифицировать столбец T. Один <объектный столбец: позиционный> (<object column: positioned>) не должен появляться более одного раза в <операторе модификации: позиционном> (<update statement: positioned>).

7. Область действия <имени таблицы> (<table name>) - целиком весь оператор <модификации: позиционный> (<update statement: positioned>).

8. Для каждого <раздела установки: позиционного> (<set clause: positioned>):
а) Если специфицировано неопределенное значение, то для столбца, указанного <объектным столбцом: позиционным> (<object column: positioned>), должно до пускаться неопределенное значение.
b) Если тип данных столбца, указанного <объектным столбцом: позиционным> (<object column: positioned>), является типом символьных строк длины L, то тип данных <выражения, вырабатывающего значение> (<value expression>) должен быть типом символьных строк с длиной, меньшей или равной L.
c) Если тип данных столбца, указанного <объектным столбцом: позиционным> (<object column: positioned>), является типом точных чисел, то тип данных <выражения, вырабатывающего значение> (<value expression>) должен быть типом точных чисел.
d) Если тип данных столбца, указанного <объектным столбцом: позиционным> (<object column: positioned>), является типом приблизительных чисел, то тип данных <выражения, вырабатывающего значение> (<value expression>) должен быть типом приблизительных чисел или типом точных чисел.

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

1. Курсор CR должен быть установлен на строку.

2. Объектная строка является такой строкой, из которой порождена текущая строка CR.

3. Объектная строка модифицируется согласно спецификации каждого <раздела установки: позиционной> (<set clause: positioned>). <Раздел установки: позиционной> (<set clause: positioned>) специфицирует объектный столбец и значение модификации этого столбца. Объектный столбец - это столбец, идентифицированный <объектным столбцом: позиционным> (<object column: positioned>) в <разделе установки: позиционной> (<set clause: positioned>). Значение модификации может быть неопределенным значением или значением, специфицируемым <выражением, вырабатывающим значения> (<value expression>). Если <выражение, вырабатывающее значение> (<value expression>) содержит ссылку к столбцу Т, то эта ссылка указывает на значение этого столбца в объектной строке до модификации любого значения объектной строки.

4. Объектная строка модифицируется по следующим шагам:
а) Создается возможная строка, которая является копией объектной строки.
b) Для каждого <раздела установки: позиционной> (<set clause: positioned>) значение указанного объектного столбца в возможной строке заменяется на специфицированное значение модификации.
c) Объектная строка заменяется на возможную строку.

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

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

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

8.12 <Оператор модификации: поисковый> (<update statement: searched>)

Функция

Модифицирует строки таблицы.

Формат

<update statement: searched> ::=

          UPDATE <table name>

          SET <set clause: searched>

              [{,<set clause: searched>}...]

          [WHERE <search conditions>]

<set clause: searched> ::=

          <object column: searched> =

           { <value expression> | NULL }

<object column: searched> ::= <column name>



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









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

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

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

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



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

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

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

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

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

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



(0.008 сек.)