OPEN CURSOR выполняет запрос связанный с курсором<cursor name>. Вывод может теперь извлекать по одной строке для каждой команды FETCH.
REVOKE (*NONSTANDARD*)
(ОТМЕНИТЬ ПОЛНОМОЧИЯ) (НЕСТАНДАРТНО)
Синтаксис
REVOKE { ALL [PRIVILEGES]
| <privilege> . , . . } [ON <table name>]
FROM { PUBLIC
| <Authorization ID> . , . . };
Привелегия<privelege> может быть любой из указаных в команде GRANT. Пользователь дающий REVOKE должен иметь те же привелегии, что и пользователь который давал GRANT. Предложение ON может быть использовано, если используется привилегия специального типа для особого объекта.
ROLLBACK (WORK)
(ОТКАТ) (ТРАНЗАКЦИИ)
Синтаксис
ROLLBACK WORK;
Команда отменяет все изменения в базе данных, сделанные в течение текущей транзакции. Она кроме того заканчивается текущую, и начинает новую транзакцию.
Это предложение огранизует запрос и выводит значения из базы данных( см. Глава 3 - Глава 14 ). Применяются следующие правила:
* Если ни ALL, ни DISTINCT - не указаны, принимается - ALL.
* Выражение<value expression> состоит из <column spec>, агрегатной
функции <aggregate funct>, нестандартной функции<nonstandard fu-
nction>, постоянной<constant>, или любой их комбинации с операто-
рами в допустимых выражениях.
* Ссылаемая таблица<table reference>, состоит из имени таблицы, вкл-
ючая префикс владельца если текущий пользователь не владелец, или
синоним(нестандартно) для таблицы. Таблица может быть или базовой
таблицей или просмотром. В принципе, псевдоним может указать, как-
ой синонимом используется для таблицы только на время текущей ко-
манды. Имя таблицы или синоним должны отделяться от псевдонима
одним или более разделительными знаками<separator>.
* Если используется GROUP BY, все столбцы<column spec> используе-
мые в предложении SELECT, должны будут использоваться как груп-
па столбцов<grouping column>, если они не содержатся в агрегатной
функции<aggregate funct>. Вся группа столбцов<grouping column> до-
лжна быть представлена среди выражений< value expressions> указ-
анных в предложении SELECT. Для каждой отдельной комбинации
значений группы столбцов<grouping column>, будет иметься одна и
только одна строка вывода.
* Если HAVING используется, предикат<predicate > применяется к каж-
дой строке произведенной предложением GROUP BY, и те строки кот-
орые сделают этот предикат верным, будут выведены.
* Если ORDER BY используется, вывод имеет определенную последоват-
ельность. Каждый идентификатор столбца<column identifer> ссылает-
ся к указанному <value expression> в предложении SELECT. Если это
<value expression> является указанным столбцом<column spec>, <co-
lumn identifier> может быть таким же как <column spec>. Иначе <co-
lumn identifier> может быть положительным целым числом, указываю-
щим место где находится <value expression> в последовательности пр-
едложения SELECT. Вывод будет сформирован так чтобы помещать
значения содержащиеся в <column identifier > в порядке возрастания,
если DESC не указан.
Имя идентификатора столбца<column identifier> стоящее первым в пр-
едложении ORDER BY будет предшествовать позже стоящим именам
в определении последовательности вывода.
Предложение SELECT оценивает каждую строку-кандидат таблицы в которой строки показаны независимо. Строка-кандидат определяется следующим образом:
* Если только одна ссылаемая таблица<table reference> включена, каж-
дая строка этой таблица в свою очередь является строкой-кандидатом.
* Если более одной ссылаемой таблицы<table reference> включено, каж-
дая строка каждой таблицы должна быть скомбинирована в свою оче-
редь с каждой комбинацией строк из всех других таблиц. Каждая так-
ая комбинация будет в свою очередь строкой-кандидатом.
Каждая строка-кандидат производит значения, которые делают предикат <predicate > в предложении WHERE верным, неверным, или неизвестным. Если GROUP BY не используется, каждое<value expression> применяется в свою очередь для каждой строки-кандидата чье значение делает предикат верным, и результатом этой операции является вывод. Если GROUP BY используется, строки-кандидаты комбинируются, используя агрегатные функции. Если никакого предиката<predicate > не установлено, каждое выражение<value expression> применяется к каждой строке-кандидату или к каждой группе. Если указан DISTINCT, дубликаты( двойники) строк будут удалены из вывода.
UNION
(ОБЪЕДИНЕНИЕ)
Синтаксис
<query> {UNION [ALL] <query> } . . . ;
Вывод двух или более запросов<query> будет объединен. Каждый запрос <query > должен содержать один и тот же номер <value expression> в предложение SELECT и в таком порядке что 1.. n каждого, совместим по типу данных<data type> и размеру<size> с 1.. n всех других.
UPDATE изменяет значения в каждом столбце с именем<column name> на соответствующее значение<value expression>. Если предложение WHERE использует предикат<predicate>, то только строки таблиц чьи текущие значения делают тот предикат<predicate> верным, могут быть изменены. Если WHERE использует предложение CURRENT OF, то значения в строке таблицы с именем<table name> находящиеся в курсоре с именем<cursor name> меняются. WHERE CURRENT OF пригодно для использования только во вложенном SQL, и только с модифицируемыми курсорами. При отсутствия предложения WHERE - все строки меняются.