Справочник по SQL





Приложение D




СИНТАКСИС

И

КОМАНДА ССЫЛКИ
(По русски – справочник по синтаксису и командам ( )


400 ПОНИМАНИЕ SQL
______________________________________________________________________
ПРИЛОЖЕНИЕ. D

ЭТО ПРИЛОЖЕНИЕ СОДЕРЖИТ БОЛЕЕ КРАТКОЕ
описание различных команд SQL. Цель состоит в том, чтобы дать вам
быструю и точную ссылку и определение SQL. Первый раздел этого
приложения определяет элементы, используемые для создания команд
SQL; второй, подробности синтаксиса и предложения с кратким описа-
нием самих команд. Далее показаны стандартные условные обозначен-
ия ( они называются BNF условиями):

* Ключевые cлова набираются в верхнем регистре.

* SQL и другие специальные условия заключаются в угловые
скобки и набираются курсивом ( ).

* Необязательные части команд находятся в квадратных скобках
( [and] ).

* Многоточие ( .... ) указывает на то что предшествующая часть
команды может повторяться любое число раз.

* Вертикальная полоса ( | ) означает - то, что ей предшествует
может быть заменено на то что следует за ней.

* Фигурные Скобки ( {and} ) указывают - все что внутри них,
должно быть расценено как целое, для оценки других симво-
лов ( например, вертикальных полос или эллипсов ).

* Двойное двоеточие и равняется (:: = ) означают - то что следу-
ет за ними является определением того что им предшествует.

Кроме того, мы будем использовать следующую последовательность
(.,.. ) чтобы указывать, что предшествующее этому может повторяться
любое число раз с индивидуальными событиями отделяемыми запяты-
ми. Атрибуты которые не являются частью официального стандарта бу-
дут отмечены как (*нестандартные*) в описании.

ОБРАТИТЕ ВНИМАНИЕ: Терминология которую мы используем
здесь, не официальная терминология ANSI.
Официальная терминология может вас сильно запутать, поэтому мы
несколько ее упростили.

По этой причине, мы иногда используем условия отличающиеся от ANSI,
или используем те же самые условия но несколько по-другому. Например,
наше определение - отличается от используемой в ANSI ко-
мбинации стандартного определения с .

СИНТАКСИС И КОМАНДА ССЫЛКИ 401
______________________________________________________________________


=============== SQL ЭЛЕМЕНТЫ ===============

Этот раздел определяет элементы команд SQL. Они разделены на две ка-
тегории: Основные элементы языка, и Функциональные элементы языка.
Основные элементы - это создаваемые блоки языка; когда SQL исследует
команду, то он сначала оценивает каждый символ в тексте команды в тер-
минах этих элементов. Разделители отделяют одну часть ко-
манды от другой; все что находится между разделителями
обрабатывается как модуль.
Основываясь на этом разделении, SQL и интерпретирует команду.
Функциональные элементы - это разнообразные вещи отличающиеся от
ключевых слов, которые могут интерпретироваться как модули. Это - час-
ти команды, отделяемые с помощью разделителей, имеющих
специальное значение в SQL. Некоторые из них являются специальными
для определенных команд и будут описаны вместе с этими командами по-
зже, в этом приложении. Перечисленное здесь, является общими элемен-
ты для всех описываемых команд. Функциональные элементы могут оп-
ределяться в терминах друг друга или даже в собственных терминах.
Например, предикат, наш последний и наиболее сложный
случай, содержит предикат внутри собственного определе-
ния. Это потому, что предикат использующий AND или OR
может содержать любое число предикатов которые могут ра-
ботать автономно.
Мы представляли вам предикат в отдельной секции в этом
приложении, из-за разнообразия и сложности этого функционального
элемента языка. Он будет постоянно присутствовать при обсуждении
других функциональных частей команд.

ЭЛЕМЕНТЫ ЯЗЫКА БЕЙСИКА
ЭЛЕМЕНТ ОПРЕДЕЛЕНИЕ

| |

< comment > --< string>

< space > пробел

реализационно-определяемый конец символьной строки

[{ | ИМЕЙТЕ ВВИДУ: Следуя строгому стандарту ANSI, символы
должны быть набраны в верхнем регистра, а индификатор
не должен быть длиннее 18-ти символов.


402 ПОНИМАНИЕ SQL
______________________________________________________________________________
ПРИЛОЖЕНИЕ. D

ЭЛЕМЕНТ ОПРЕДЕЛЕНИЕ
-

%

любое из следующих: , ( ) < > . : = + " - | <>
> = < = или

[любой печатаемый текст в одиночных кавычках]
Примечание: В , две последовательных одиночных
кавычки ( ' ' ) интерпретируются как одна ( ' ).

окончание, зависящее от главного языка.
(*только
вложеный*)


ФУНКЦИОНАЛЬНЫЕ ЭЛЕМЕНТЫ

Следующая таблица показывает функциональные элементы команд SQL
и их определения:

ЭЛЕМЕНТ ОПРЕДЕЛЕНИЕ

Предложение SELECT

Заключеное в круглых скобках предложение
SELECT внутри другого условия, которое, фак-
тически, оценивается отдельно для каждой стр-
оки-кандидата другого предложения.


|
|

любое из следующих: + - / *


|
|
|
|

|
СИНТАКСИС И КОМАНДА ССЫЛКИ 403
______________________________________________________________________

ЕЛЕМЕНТ ОПРЕДЕЛЕНИЕ
USER |




·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
· | FOREIGN KEY ()
REFERENCES
[()]

ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ =

Допустимый тип данных ( См. Приложение B
для описания типов обеспечиваемых ANSI или
Приложение C для других общих типов. )

Значение зависит от ( См. Приложение B. )



·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
· 404 ПОНИМАНИЕ SQL
______________________________________________________________________________
ПРИЛОЖЕНИЕ. D

ПРЕДИКАТЫ

Следующее определяет список различных типов предиката
описаных на следующих страницах:

::= [NOT]

{ < comparison predicate >
|
|
|
|
|
| }
[ANDI OR ]

- это выражение, которое может быть верным,
неверным, или неизвестным, за исключением
и , которые
могут быть только верными или неверными.

Будет получено неизвестно если NULL значения предотвращают вывод
полученного ответа. Это будет случаться всякий раз, когда NULL значе-
ние сравнивается с любым значением.
Стандартные операторы Буля - AND, OR, и NOT - могут использова-
ться с предикатом. NOT верно = неверно, NOT неверно =
верно, а NOT неизвестно = неизвестно. Резултаты AND и OR в комби-
нации с предикатами, показаны в следующих таблицах:

AND

AND Верно Неверно Неизвестно
Верно верно неверно неизвестно
Неверно неверно неверно неверно
Неизвестно неизвестно неверно неизвестно


OR

OR Верно Неверно Неизвестно
Верно верно верно верно
Неверно верно неверно неизвестно
Неизвестно верно неизвестно неизвестно



СИНТАКСИС И КОМАНДА ССЫЛКИ 405
______________________________________________________________________

Эти таблицы читаются способом на подобии таблицы умножения: вы
объединяете верные, неверные, или неизвестные значения из строк с
их столбцами чтобы на перекрестье получить результат. В таблице AND,
например, третий столбец (Неизвестно) и первая строка (Верно) на
пересечении в верхнем правом углу дают результат - неизвестно, други-
ми словами: Верно AND Неизвестно = неизвестно.
Порядок вычислений определяется круглыми скобками. Они не предст-
авляются каждый раз. NOT оценивается первым, далее AND и OR.
Различные типы предикатов рассматриваются отдельно в
следующем разделе.

(предикат сравнения)

Синтаксис

|

:: =
=
| <
| >
| <
| >=
| <>

Если либо = NULL, либо
= неизвестно; другими словами, это верно если сравнение верно или
неверно если сравнение неверно.
имеет стандартные математические значения для чис-
ловых значений; для других типов значений, эти значения определяют-
ся конкретной реализацией. Оба должны иметь ср-
авнимые типы данных. Если подзапрос используется, он до-
лжен содержать одно выражение в предложении
SELECT, чье значение будет заменять второе выражение sion> в предикате сравнения, каждый раз ког-
да действительно выполняется.



Синтаксис

< value expression > [NOT] BETWEEN < value expression >
AND < value expression >

406 ПОНИМАНИЕ SQL
______________________________________________________________________
ПРИЛОЖЕНИЕ. D

< between predicate > - A BETWEEN B AND C , имеет такое же значение
что и - ( A >= B AND <= C). для кото-
рого A NOT BETWEEN B AND C, имеет такое же значение что и NOT
( BETWEEN B AND C). может быть выведено с помощ-
ью нестандартного запроса ( *nonstandard* ).


< in prediicate >

Синтаксис

[NOT] IN |

Список значений будет состоять из одного или более перечис-
леных значений в круглых скобках и отделяемых запятыми, которые име-
ют сравнимый с тип данных. Если используется под-
запрос, он должен содержать только одно выражение expression> в предложении SELECT ( возможно и больше, но это уже
будет вне стандарта ANSI ). Подзапрос фактически, выпол-
няется отдельно для каждой строки-кандидата основного запроса, и значе-
ния которые он выведет, будут составлять список значений
для этой строки. В любом случае, предикат будет верен ес-
ли выражение представленное в списке значенийlist>, если не указан NOT. Фраза A NOT IN (B, C) является эквивал-
ентом фразы NOT (A IN (B, C)).

< like predicate >

Синтаксис

[NOT] LIKE [ESCAPE
]

- это любое *нестандартное* выражение
алфавитно-цифрового типа. может быть, в сооветствии со ст-
андартом, только определенным столбцом. Образец
состоит из строки которая будет проверена на совпадение с value>. Символ окончания - это одиночный алфавитно-цифр-
овой символ. Совпадение произойдет, если верны следующие условия :

* Для каждого символа подчеркивания в образце
которая не предшесивует символу окончания, имеется
один соответствующий ему символ .

СИНТАКСИС И КОМАНДА ССЫЛКИ 407
______________________________________________________________________


* Для каждого < percent sign> в образце который не предшест-
вует , имеются нули или более соответствующие символы
в .

* Для каждого в который не предшествует друго-
му , нет никакого соответствующего символа в .

* Для каждого иного символа в , один и тот же символ устанавли-
вается у соответствующей отметке в .

Если совпадение произошло, - верен, если не был указан
NOT. Фраза NOT LIKE 'текст' - эквивалентна NOT ( A LIKE 'текст').


< null predicate >

Синтаксис

IS [NOT] NULL

= IS NULL, если NULL значение представлено в этом стол-
бце. Это сделает верным если не указан NULL.
Фраза IS NOT NULL, имеет тот же результат что и NOT
( IS NULL ).


< quantified predicate >

Синтаксис



:: = ANY | ALL | SOME

Предложение SELECT подзапроса должно содержать одно и
только одно выражение значения. Все значения выве-
денные подзапросом составляют набор результатов.
сравнивается, используя оператор связиrator>, с каждым членом набора результатов.
Это сравнение оценивается следующим образом:

* Если = ALL, и каждый член набора результатовset> делает это сравнение верным, - верен.

408 ПОНИМАНИЕ SQL
______________________________________________________________________
ПРИЛОЖЕНИЕ. D

* Если = ANY, и имеется по крайней мере один член
из набора результатов , который делает верным это
сравнение, то является верным.

* Если набор результатов пуст, то
верен, если = ALL , и неверен если иначе.

* Если = SOME, эффект - тот же что и для ANY.

* Если не верен и не неверен, он - неизвестен.




Синтаксис:

EXISTS ()

Если подзапрос выводит одну или более строк вывода,
- верен; и неверен если иначе.


=============== SQL КОМАНДЫ ================

Этот раздел подробно описывает синтаксис различных команд SQL.
Это даст вам возможность быстро отыскивать команду, находить ее
синтаксис и краткое описание ее работы.

ИМЕЙТЕ ВВИДУ Команды которые начинаются словами - EXEC SQL, а
также команды или предложения заканчивающиеся словом -
могут использоваться только во вложенном SQL.


BEGIN DECLARE SECTION
(НАЧАЛО РАЗДЕЛА ОБЪЯВЛЕНИЙ)

Синтаксис

EXEC SQL BEGIN DECLARE SECTION

EXEC SQL END DECLARE SECTION

СИНТАКСИС И КОМАНДА ССЫЛКИ 409
______________________________________________________________________


Эта команда создает раздел программы главного языка для обьявления
в ней главных переменных, которые будут использоваться во вкладывае-
мых операторах SQL. Переменная SQLCODE должна быть включена
как одна из обьявляемых переменных главного языка.


CLOSE CURSOR
(ЗАКРЫТЬ КУРСОР)

Синтаксис

EXEC SQL CLOSE CURSOR ;

Эта команда указывает курсору закрыться, после чего ни одно
значение не сможет быть выбрано из него до тех пор пока он
не будет снова открыт.


COMMIT (WORK)
(ФИКСАЦИЯ (ТРАНЗАКЦИИ))

Синтаксис

COMMIT WORK;

Эта команда оставляет неизменными все изменения сделанных в
базе данных, до тех пор пока начавшаяся транзакция не закончит-
ся, и не начнется новая транзакция.


CREATE INDEX (*NONSTANDARD*)
(СОЗДАТЬ ИНДЕКС) (НЕСТАНДАРТНО)

Синтаксис

CREATE [UNIQUE] INDEX
ON
();

Эта команда создает эффективный маршрут с быстрым доступом для
поиска строк содержащих обозначенные столбцы. Если UNIQUE -
указана, таблица не сможет содержать дубликатов(двойников) значен-
ий в этих столбцах.

410 ПОНИМАНИЕ SQL
______________________________________________________________________
ПРИЛОЖЕНИЕ. D


CREATE SYNONYM (*NONSTANDARD*)
(СОЗДАТЬ СИНОНИМ) ( *НЕСТАНДАРТНО* )


Синтаксис

CREATE IPUBLICl SYNONYM FOR
.
;

Эта команда создает альтернативное(синоним) имя для таблицы.
Синоним принадлежит его создателю, а сама таблица, обычно другому
пользователю. Используя синоним, его владелец может не ссылаться к
таблице ее полным ( включая имя владельца ) именем. Если PUBLIC -
указан, синоним принадлежит каталогу SYSTEM и следовательно дос-
тупен всем пользователям.


CREATE TABLE
(СОЗДАТЬ ТАБЛИЦУ)

Синтаксис

CREATE TABLE

({ []
[< colconstralnt > . . .]
[]} . , . . . , . .);

Команда создает таблицу в базе данных. Эта таблица будет принадлежать
ее создателю. Столбцы будут рассматриваться в поименном порядке.
- определяет тип данных который будет содержать столбец.
Стандарт описывается в Приложении B; все прочие использу-
емые типы данных, обсуждались в Приложении C. Значение
размера зависит от типа данных.
и налагают ограничения на значения ко-
торые могут быть введены в столбцу.
определяет значение(по умолчанию) которое будет вставлено
автоматически, если никакого другого значения не указано для этой стро-
ки. ( См. Главу 17 для подробностей о самой команде CREATE TABLE
и Главы 18 И 19 для подробностей об ограничениях и о ).

СИНТАКСИС И КОМАНДА ССЫЛКИ 411
______________________________________________________________________

CREATE VIEW
(СОЗДАТЬ ПРОСМОТР)

Синтаксис

CREATE VIEW

AS
[WITH CHECK OPTION];

Просмотр обрабатывается как любая таблица в командах SQL.
Когда команда ссылается на имя таблицы
, запрос
выполняется, и его вывод соответствует содержанию таблицы указнной
в этой команде.
Некоторые просмотры могут модифицироваться, что означает, что коман-
ды модификации могут выполняться в этих просмотрах и передаваться в
таблицу, на которую была ссылка в запросе. Если указано пре-
дложение WITH CHECK OPTION, эта модификация должны также
удовлетворять условию предиката в запросе.


DECLARE CURSOR
(ОБЬЯВИТЬ КУРСОР)

Синтаксис

EXEC SQL DECLARE CURSOR FOR


Эта команда связывает имя курсора, с запросом.
Когда курсор открыт ( см. OPEN CURSOR ), запрос выполняет-
ся, и его результат может быть выбран(командой FETCH) для вывода. Ес-
ли курсор модифицируемый, таблица на которую ссылается запрос,
может получить изменение содержания с помощью операции модифика-
ции в курсоре ( См. Главу 25 о модифицируемых курсорах ).

DELETE
(УДАЛИТЬ)

Синтаксис

DELETE FROM

{ [WHERE ]; }
| WHERE CURRENT OF

412 ПОНИМАНИЕ SQL
______________________________________________________________________
ПРИЛОЖЕНИЕ. D

Если предложение WHERE отсутствует, ВСЕ строки таблицы удаляются.
Если предложение WHERE использует предикат, строки, ко-
торые удовлетворяют условию этого предиката удаляются.
Если предложение WHERE имеет аргумент CURRENT OF(ТЕКУЩИЙ)
в имени курсора, строка из таблицы
на ко-
торую в данный момент имеется ссылка с помощью имени курсора
будет удалена. Форма WHERE CURRENT может испол-
ьзоваться только во вложенном SQL, и только с модифицируемыми ку-
рсорами.

EXEC SQL
(ВЫПОЛНИТЬ SQL)

Синтаксис

EXEC SQL

EXEC SQL используется чтобы указывать начало всех команд SQL,
вложенных в другой язык.

FETCH
(ВЫБОРКА)

Синтаксис

EXEC SQL FETCH
INTO

FETCH принимает вывод из текущей строки запроса, вставляет
ее в список главных переменных, и перемещает кур-
сор на следующую строку. Список может включать
переменную indicator в качестве целевой переменной ( См. Главу 25. )

GRANT
(ПЕРЕДАТЬ ПРАВА)

Синтаксис (стандартный)

GRANT ALL [PRIVILEGES]
| {SELECT
| INSERT
| DELETE
| UPDATE [()]


СИНТАКСИС И КОМАНДА ССЫЛКИ 413
______________________________________________________________________

| REFERENCES [()l } . , . .
ON
. , . .
TO PUBLIC | . , . .
[WITH GRANT OPTION];

Аргумент ALL(ВСЕ), с или без PRIVILEGES(ПРИВИЛЕГИИ), вклю-
чает каждую ривилегию в список привилегий. PUBLIC(ОБЩИЙ) включает
всех существующих пользователей и всех созданых в будущем.
Эта команда дает возможность передать права для выполнения действий
в таблице с указаным именем. REFERENCES позволяет дать права чтобы
использовать столбцы в списке столбцов как родительский
ключ для внешнего ключа. Другие привилегии состоят из права выполнять
команды для которых привилегии указаны их имнами в таблице.
UPDATE, подобен REFERENCES, и может накладывать ограничения на оп-
ределенные столбцы. GRANT OPTION дает возможность передавать эти
привилегии другим пользователям.

Синтаксис ( нестандартный )

GRANT DBA
| RESOURCE
| CONNECT ... .
TO . , . .
[IDENTIFIED BY> password>

CONNECT дает возможность передавать право на регистрации и некото-
рые другие ограниченные права.
RESOURCE дает пользователю право создавать таблицы. DBA дает воз-
можность передавать почти все права.
IDENTIFIED BY используется вместе с CONNECT, для создания или из-
менения пароля пользователя.

INSERT
(ВСТАВКА)

Синтаксис

INSERT INTO
()
VALUES () I ;

INSERT создает одну или больше новых строк в таблице с именем
. Если используется предложение VALUES , их значения
вставляются в таблицу с именем< table name>. Если запрос
указан, каждая строка вывода будет вставлена в таблицу с именем


414 ПОНИМАНИЕ SQL
______________________________________________________________________
ПРИЛОЖЕНИЕ. D

. Если список столбцов отсутствует, все
столбцы таблицы
, принимаются в упорядоченном виде.

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
(ВЫБОР)


СИНТАКСИС И КОМАНДА ССЫЛКИ 415
_________________________________________________________________

Синтаксис

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

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

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

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

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

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

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

* Если ORDER BY используется, вывод имеет определенную последоват-
ельность. Каждый идентификатор столбца ссылает-
ся к указанному в предложении SELECT. Если это

416 ПОНИМАНИЕ SQL
_____________________________________________________________________
ПРИЛОЖЕНИЕ. D

является указанным столбцом, lumn identifier> может быть таким же как . Иначе lumn identifier> может быть положительным целым числом, указываю-
щим место где находится в последовательности пр-
едложения SELECT. Вывод будет сформирован так чтобы помещать
значения содержащиеся в в порядке возрастания,
если DESC не указан.
Имя идентификатора столбца стоящее первым в пр-
едложении ORDER BY будет предшествовать позже стоящим именам
в определении последовательности вывода.

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

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

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

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

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

Синтаксис

{UNION [ALL] } . . . ;

Вывод двух или более запросов будет объединен. Каждый запрос
должен содержать один и тот же номер в

СИНТАКСИС И КОМАНДА ССЫЛКИ 417
______________________________________________________________________


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


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

Синтаксис

UPDATE

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

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


WHENEVER
(ВСЯКИЙ РАЗ КАК)

Синтаксис

EXEC SQL WHENEVER
:: = SQLERROR | NOT FOUND | SQLWARNING
(последнее - нестандартное)
:: = CONTINUE | GOTO | GOTO
:: = зависит от главного языка

15BIGWL\\Feanor\Public2\ПО ПКиЛС\Основы Построения Баз Данных\Справочник по SQL.doc
·
·
·D 

Приложенные файлы

  • doc 24737870
    Размер файла: 104 kB Загрузок: 1

Добавить комментарий


© 2018 Образовательный портал «DocumentSite.net». Обратная связь | Пользовательское соглашение | Распечатать страницу