Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

OPEN cursor

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

 

Синтаксис

EXEC SQL OPEN CURSOR <cursorname> <SQL term>

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;

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

 

 

SELECT

(ВЫБОР)

 

Синтаксис

SELECT { IDISTINCT | ALL] < value expression >.,.. } / *
[INTO <host variable list> (*embedded only*)]
FROM < table reference >.,..
[WHERE <predicate>]
[GROUP BY <grouping column>.,..]
[HAVING <predicate>]
[ORDER BY <ordering column> [ASC | DESC].,.. ];

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

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

* Выражение <value expression> состоит из <column spec>, агрегатной функции <aggregate funct>, нестандартной функции <nonstandard function>, постоянной <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>, <column identifier> может быть таким же как <column spec>. Иначе <column 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

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

 

Синтаксис

UPDATE <table name>
SET { <column name> = <value expression> }.,..
{[ WHERE <predlcate>]; } | {[WHERE CURRENT OF <cursorname>] <SQL term>]}

UPDATE изменяет значения в каждом столбце с именем <column name> на соответствующее значение <value expression>. Если предложение WHERE использует предикат <predicate>, то только строки таблиц чьи текущие значения делают тот предикат <predicate> верным, могут быть изменены. Если WHERE использует предложение CURRENT OF, то значения в строке таблицы с именем <table name> находящиеся в курсоре с именем <cursor name> меняются. WHERE CURRENT OF пригодно для использования только во вложенном SQL, и только с модифицируемыми курсорами. При отсутствия предложения WHERE — все строки меняются.

 

 


Дата добавления: 2015-08-13; просмотров: 52 | Нарушение авторских прав


Читайте в этой же книге: УПОРЯДОЧЕНИЕ С ПОМОЩЬЮ ОПЕРАТОРА NULL 11 страница | УПОРЯДОЧЕНИЕ С ПОМОЩЬЮ ОПЕРАТОРА NULL 12 страница | SYSTEMTABAUTH — ПРИВИЛЕГИИ ОБЪЕКТА, КОТОРЫЕ НЕ ОПРЕДЕЛЯЮТ СТОЛБЦЫ | SYSTEMSYNONS — СИНОНИМЫ ДЛЯ ТАБЛИЦ В БАЗЕ ДАННЫХ | EXACT NUMERIC | ТИПЫ ТЕКСТОВОЙ СТРОКИ | МАТЕМАТИЧЕСКИЕ ФУНКЦИИ | ДРУГИЕ ФУНКЦИИ | ПРЕДИКАТЫ | CREATE TABLE |
<== предыдущая страница | следующая страница ==>
EXEC SQL| WHENEVER

mybiblioteka.su - 2015-2024 год. (0.017 сек.)