OPEN CURSOR

(ОТКРЫТЬ КУРСОР)

Синтаксис

EXEC SQL OPEN CURSOR

OPEN CURSOR выполняет запрос связанный с курсором . Вывод может теперь извлекать по одной строке для каждой команды FETCH.

REVOKE (*NONSTANDARD*)

(ОТМЕНИТЬ ПОЛНОМОЧИЯ) (НЕСТАНДАРТНО)

Синтаксис

REVOKE ALL [PRIVILEGES] [ON

] FROM PUBLIC ;

Привелегия может быть любой из указаных в команде GRANT. Пользователь, дающий REVOKE, должен иметь те же привелегии, что и пользователь, который давал GRANT. Предложение ON может быть использовано, если используется привилегия специального типа для особого объекта.

ROLLBACK (WORK)

(ОТКАТ) (ТРАНЗАКЦИИ)

Синтаксис

ROLLBACK WORK;

Команда отменяет все изменения в базе данных, сделанные в течение текущей транзакции. Она, кроме того, заканчивает текущую и начинает новую транзакцию.

SELECT

(ВЫБОР OPEN CURSOR)

Синтаксис

SELECT ALL] . , . . / *
[INTO (*embedded only*)]
FROM

. , . .
[WHERE ]
[GROUP BY . , . .]
[HAVING ]
[ORDER BY [ASC | DESC] . , . . ];

Это предложение огранизует запрос и выводит значения из базы данных (см. Глава 3 — Глава 14). Применяются следующие правила:

* Если ни ALL, ни DISTINCT — не указаны, принимается — ALL.

* Выражение состоит из , агрегатной функции , нестандартной функции , постоянной , или любой их комбинации с операторами в допустимых выражениях.

* Ссылаемая таблица

состоит из имени таблицы, включая префикс владельца, если текущий пользователь не владелец, или синоним (нестандартно) для таблицы. Таблица может быть или базовой таблицей или просмотром. В принципе, псевдоним может указать, какой синонимом используется для таблицы только на время текущей команды. Имя таблицы OPEN CURSOR или синоним должны отделяться от псевдонима одним или более разделительными знаками .

* Если используется GROUP BY, все столбцы используемые в предложении SELECT, должны будут использоваться как группа столбцов , если они не содержатся в агрегатной функции . Вся группа столбцов должна быть представлена среди выражений указанных в предложении SELECT. Для каждой отдельной комбинации значений группы столбцов , будет иметься одна и только одна строка вывода.

* Если HAVING используется, предикат применяется к каждой строке произведенной предложением GROUP BY, и те строки которые сделают этот предикат верным, будут выведены.

* Если ORDER BY используется, вывод имеет определенную последовательность. Каждый идентификатор столбца ссылается к указанному в предложении SELECT. Если OPEN CURSOR это является указанным столбцом , может быть таким же как . Иначе может быть положительным целым числом, указывающим место где находится в последовательности предложения SELECT. Вывод будет сформирован так чтобы помещать значения содержащиеся в в порядке возрастания, если DESC не указан. Имя идентификатора столбца , стоящее первым в предложении ORDER BY будет предшествовать позже стоящим именам в определении последовательности вывода.



Предложение SELECT оценивает каждую строку-кандидат таблицы в которой строки показаны независимо. Строка-кандидат определяется следующим образом:

* Если только одна ссылаемая таблица

включена, каждая строка этой таблица в свою очередь является строкой-кандидатом.

* Если более одной ссылаемой таблицы

включено, каждая строка каждой OPEN CURSOR таблицы должна быть скомбинирована в свою очередь с каждой комбинацией строк из всех других таблиц. Каждая такая комбинация будет в свою очередь строкой-кандидатом.

Каждая строка-кандидат производит значения, которые делают предикат в предложении WHERE верным, неверным, или неизвестным. Если GROUP BY не используется, каждое применяется в свою очередь для каждой строки-кандидата, чье значение делает предикат верным, и результатом этой операции является вывод. Если GROUP BY используется, строки-кандидаты комбинируются, используя агрегатные функции. Если никакого предиката не установлено, каждое выражение применяется к каждой строке-кандидату или к каждой группе. Если указан DISTINCT, дубликаты (двойники) строк OPEN CURSOR будут удалены из вывода.

UNION

(ОБЪЕДИНЕНИЕ)

Синтаксис

{UNION [ALL] } . . . ;

Вывод двух или более запросов будет объединен. Каждый запрос должен содержать один и тот же номер в предложение SELECT и в таком порядке что 1..n каждого, совместим по типу данных и размеру с 1..n всех других.

UPDATE

(МОДИФИКАЦИЯ)

Синтаксис

UPDATE


SET { = } .,..
{[ WHERE ]; } | {[WHERE CURRENT OF ] ]}

UPDATE изменяет значения в каждом столбце с именем на соответствующее значение . Если предложение WHERE использует предикат , то только строки таблиц чьи текущие значения делают тот предикат верным, могут быть изменены. Если WHERE использует предложение CURRENT OF, то значения в строке таблицы с именем

находящиеся в курсоре с именем меняются OPEN CURSOR. WHERE CURRENT OF пригодно для использования только во вложенном SQL, и только с модифицируемыми курсорами. При отсутствия предложения WHERE — все строки меняются.


documentapukzgz.html
documentapulgrh.html
documentapulobp.html
documentapulvlx.html
documentapumcwf.html
Документ OPEN CURSOR