ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.



                  НПКО Мекомп при Минчермете
             SQL * Plus   СПРАВОЧНОЕ РУКОВОДСТВО.
                          Версия 2.0
           СИСТЕМА УПРАВЛЕНИЯ РЕЛЯЦИОННОЙ БАЗОЙ ДАННЫХ
                            ORACLE
c Copyright,1986,1987   Корпорация  Oracle Белмонт,
Калифорния,США.
Все права сохраняются.Отпечатано в США.
Номер части 3203.V2.0
Ревизия июля 1987г.
Автор :   Джонатан Сакс
Соавторы: Лэрри Баер,Дэрри Кэбсенел,Лэрри Стивенс

                                Авторские права.
Использование,копирование или изложение подчиняются  огра-
ничениям  указанным в вашем контракте с Корпорацией ORACLE.
Использование,копирование или изложение  со стороны прави-
тельства подчиняются ограничениям,установленным в  подраз-
деле (b)(3)(ii) пункта об авторских правах  по "Техническим
Данным"  и   "Программному  обеспечению"  в       документе
CFR 252.227-7013.
        Информация,содержащаяся в данном документе м.б.из-
менена без предупреждения.

ORACLE-зарегестрированная торговая марка Корпорации ORACLE.
SQL * Plus - торговая марка Корпорации ORACLE.

                            ИСТОРИЯ ИЗМЕНЕНИЯ.
Версия     Статус     История изменения        Дата

2.0        Beta       Редакция,приведшая      6/86
                      к версии 2.0 SQL*Plus
                      и 5.1 ORACLE.
             -        Добавлено описание
                      SQL*Net (сетевой
                      вариант)
             -        Справочное руководство
                      по SQL*Plus выделено из
                      руководства по пользо-
                      ванию и опубликовано
                      отдельно.
2.0        Продукция  Редакция с целью уточ-   10/10/86
                      нения и улучшения
                      восприятия текста.

                                ПРЕДИСЛОВИЕ.
                                   ЦЕЛЬ.
        Справочное руководство по SQL*Plus  содержит
              детальное описание языка запросов  SQL*Plus,
              который м.б.использован для создания,
              хранения,модификации,поиска,вывода на
              печать  и  управления  информацией  в БД ORACLE.

                                АУДИТОРИЯ.
        Это  руководство предназначено для бизнесме-
              нов,технических специалистов и  программис-
              тов,желающих работать с SQL*Plus.Оно пред-
              полагает опыт работы  с  языком    SQL*Plus.
              Читатели незнакомые с SQL*Plus,должны обра-
              титься    к    руководству      пользователя
              SQL*Plus для ознакомления с языком.

                        КАК ИСПОЛЬЗОВАТЬ РУКОВОДСТВО
        Руководство делится на 3 секции:
* Глава 1,"Элементы SQL*Plus",описывающая
               конструкции,типы данных,операторы,функ-
               ции,форматы и файлы,что и составляет язык
               SQL*Plus.
             * Глава 2."Справочник команд",содержащая
               список  и  описание   всех  команд   SQL и
               SQL*Plus в алфавитном порядке.
             * Словарь терминов,который описывает терми-
               ны,связанные с ORACLE и SQL*Plus.

                СОГЛАШЕНИЯ,ИСПОЛЬЗУЕМЫЕ В ДАННОМ РУКОВОДСТВЕ
        Таблица 1 описывает соглашения по  обозначениям,используемым в этом
руководстве,с примерами по каждому обозначению.

Таблица 1.Соглашения по обозначениям,используемым в данном руководстве.

      Средство     Пример            Объяснение
    Полужирный 1.BTITLE         Вводите  текст  точно  так
    шрифт                       как показано здесь(не обя-
                                зательно большими буквами,
                                они выбраны  в    качестве
                                примера).
               2.[COL{  1  |n}]  Указывает  на  значение по
                                умолчанию.Если вы ничего
                                не  вводите,то    ORACLE
                                предполагает эту  величину.
    Кавычки        "столбец"    Значение  фразы (предложе-
                                ния) или параметр.Подме-
                                няется     соответствующим
                                значением.
    Слова          с            Одиночный алфавитно-цифро-
    со                          вой символ
    специальным    "символ"     Символьное  значение:
    значениям                   литерал в одиночных кавыч-
                                ках или выражение,имеющее
                                значение.
                   d или e      Выражение,значение  кото-
                                рого является датой.
                   "выражение"  Выражение  неопределенного
                                типа.
                   m или n      Выражение   с    численным
                                значением.
                   "число"      Численная константа.
                   "исх_данн"   Выражение,имеющее исход-
                                ное,необработанное значе-
                                ние.
                   "идент_стр"  Выражение,имеющее значе-
                                ние идентификатора строки.
                   "сост_услов" Выражение,содержащее зап-
                                рос,напр.,JOB IN(SELECT...)
                   "запрос"     Выражение запроса в коман-
                                де,отличной  от   SELECT,
                                напр.,CREATE TABLE...AS
                                SELECT...
                                Может содержать любое пред-
                                ложение SELECT,исключая
                                ORDER BY или FOR UPDATE OF.
                   "текст"      Символьная    константа  с
                                одиночными кавычками  (или
                                без)перед текстом и после.
                   "переменная" Переменная пользователя(до
                                тех,пор пока в тексте  не
                                встретится другого опреде-
                                ления(типа) для этой пере-
                                менной).

                   Другие термины  ORACLE  объясняются при
                   использовании,если  их значение непо-
                   нятно из контекста.

    Квадратные     [NOPRINT]    Необязательный элемент.
    скобки                      Сами по себе скобки не
                                вводятся.
    Фигурные       {ON; OFF}    Вы должны вводить один  из
    скобки                      элементов,разделенных зна-
                                ком":".Не  вводите   при
                                этом  фигурные  скобки или
                                знак":".
    Три точки       n,n,...Элемент(ы)  предшествующие
                                (е) трем точкам могут пов-
                                торяться любое число раз.
    Круглые         POWER(n,m)  Скобки  и  запятые  должны
    скобки                      вводится
    точно,как показа-
                                но.

                        ПРЕДИСЛОВИЕ ПЕРЕВОДЧИКОВ.
Системы управления БД на базе персональных  ком-
пьютеров и,в частности,СУБД  ORACLE для микро- и мини-ЭВМ
уже достаточно широко известны в Советском Союзе.Однако,в
настоящее  время не существует устоявшейся терминологии для
описания таких СУБД.Поэтому при переводе данного руководства
терминология представляла особую трудность,в результате че-
го помимо общеизвестных терминов в ряде случаев  группа пе-
реводчиков ввела дополнительные понятия для слов,не имеющих
соответсвующих аналогов в русском языке.

При работе с оригиналом использовались:
*      Англо-русский словарь по  информатике и вычислитель-
       ной технике под ред.Борковского (1988);
*      Большой англо-русский словарь (1987 г.);
*      Русско-английйский словарь (1987 г.);
*      Краткий англо-руский и русско-английйский словарь
       (1985 г.);
*      Переводные издания по операционной системе UNIX,СУБД
       DBASE 3 PLUS,RBASE,КАРС и др.
        Мы предполагаем,что в данном переводе было достигнуто стрем-
ление наиболее полно и доступно отразить авторский текст.В
то же время не гарантируется отсутствие ошибок как в исход-
ном тексте,так и в переводе.

                                СОДЕРЖАНИЕ.
ГЛАВА 1: ЭЛЕМЕНТЫ SQL*Plus.......................
         Введение................................
         Правила формирования имен...............
         Имена файлов............................
         Резервированные слова...................
         Типы данных.............................
         Модели формата..........................
         Операторы...............................
         Функции.................................
         Псевдо-столбцы..........................
         Обзор словаря данных....................
         Важные фразы и понятия..................
ГЛАВА 2: СПРАВОЧНИК КОМАНД.......................
         Введение................................
         SQL* - команды,краткое описание.........
         SQL*Plus - команды,краткое описание....
         @.......................................
         #.......................................
         / ......................................
         /*...*/.................................
         Alter Partition (Изменить раздел).......
         Alter Space (Изменить пространство).....
         Alter Table (Изменить таблицу)..........
         Accept (Принять)........................
         Append (Добавить).......................
         Audit (Слежение)........................
         Break (Прервать)........................
         BTitle (Заголовок внизу)................
         Change (Изменить).......................
         Clear (Очистить)........................
         Column (Столбец)........................
         Comment (Комментарий)...................
         Commit (Внести изменения)...............
         Compute (Вычислить).....................
         Connect (Соединить).....................
         Copy (Копировать).......................
         Create Cluster (Создать кластер)........
         Create Database Link (Создать связь с БД)
         Create Index (Создать индекс)...........
         Create Partition (Создать раздел).......
         Create Space (Создать пространство).....
         Create Synonym (Создать синоним)........
         Create Table (Создать таблицу)..........
         Create View (Создать экранную форму)....
         Define (Определить).....................
         Del (удалить из буфера).................
         Delete (Удалить из таблицы).............
         Describe (Описать)......................
         Disconnect (Разъединить)................
         Document (Документ).....................
         Drop Cluster (Удалить кластер)..........
         Drop Database Link (Отменить связь с БД)
         Drop Index (Удалить индекс).............
         Drop Space (Удалить пространство).......
         Drop Synonym (Удалить синоним)..........
         Drop Table (Удалить таблицу)............
         Drop View (Удалить экранную форму)......
         Edit (Редактирование)...................
         Exit (Выход)............................
         Get (Прочитать в буфер).................
         Grant (Предоставить)....................
         Help (Получение вспомогательной нформации)
         Host (Выполнение команд OC..............
         Input (Ввести)..........................
         Insert (Вставить).......................
         List (Вывести список)...................
         Lock Table (Блокировать таблицу)........
         New Page (Новая страница)...............
         Noaudit (Отменить слежение).............
         Pause (Пауза)...........................
         Quit (Завершение работы)................
         Remark (Примечание).....................
         Rename (Переименование).................
         Revoke (Отмена привилегий)..............
         Rollback (Отменить внесение изменений)..
         Save (Сохранить)........................
         Select (Выбор)..........................
         Set (Установить)........................
         Show (Показать).........................
         Spool (Буферизация ввода/вывода)........
         SQLPlus.................................
         Start (Запуск командного файла).........
         Timing (Хронометраж)....................
         TTile (Заголовок в верху)...............
         Undefine (Отменить определение).........
         Update  (Корректировка).................
         Validate Index (Проверить индекс).......

+                    ГЛАВА 1       ЭЛЕМЕНТЫ  SQL*PLus
                                ВВЕДЕНИЕ
Данная глава содержит справочную информацию обо всех аспек-
тах SQL*PLUS,за исключением индивидуальных  команд.Она
охватывает:
*      Правила наименования
*      Имена файлов
*      Резервированные слова
*      Типы данных
*      Модели форматов
*      Операторы
*      Функции
*      Псевдо-столбцы
*      Обзоры словаря данных
*      Параметры и подставляемые значения
*      Важные фразы и связанные с ними понятия.
Собственно команды описаны в главе 2.

+                       ПРАВИЛА ФОРМИРОВАНИЯ ИМЕН
        Имена  м.б.даны  следующим  объектам базы  данных:
таблицам,экранным формам,синонимам,столбцам,индексам,
и переменным пользователя.
        Имя объекта БД может содержать от  1 до 30  симво-
лов и не может содержать кавычек.
        При  использовании  в  команде верхний и нижний регистры не
различаются.Имя должно:
*      начинаться с буквы
*      содержать только знаки A-Z,0-9,-,$ и #.
       (Использование "$" и "#" не рекомендуется)
*      не дублировать резервированные слова
       ORACLE (см.ниже)
*      не дублировать имя объекта(БД) того же типа

+                               ИМЕНА ФАЙЛОВ
        Файлы  запросов и текстовые (спул) файлы  являются  файлами
операционной системы.Каждый  файл  имеет  имя и тип;  тип
описывает  вид  содержимого  файла.Различные  файлы могут
иметь одинаковые имена,но различные типы.
        Используйте  команды ОС  для  распечатки
имен и типов ваших файлов.
        Тип файла указывается расширением(имени),которое следует за
точкой после имени.Типы файлов,которые приняты в SQL*Plus,
по умолчанию следующие:

Тип файла            Расширение          Пример
Файл запроса         .SQL                EMPLOYEE.SQL
Список(спул)         системно-зависимо   REPORT.LST

                        РЕЗЕРВИРОВАННЫЕ СЛОВА
        Следующие слова резервированы в  SQL*Plus.Вы не можете их
использовать в качестве имен объектов БД.

ACCESS     DELETE      INTEGER      ORDER       TO
ADD        DESC        INTERSECT    PARTITION   TRIGGER
ALL        DISTINCT    INTO         PCTFREE     UID
ALTER      DOES        IS           PRIOR       UNION
AND        DROP        LEVEL        PRIVILEGES  UNIQUE
ANY        EACH        LIKE         PUBLIC      UPDATE
APPEND     ELSE        LIST         RAW         USER
AS         ERASE       LOCK         RENAME      USING
ASC        EVALUATE    LONG         REPLACE     VALIDATE
ASSERT     EXCLUSIVE   MAXEXTENTS   RESOURCE    VALUES
ASSIGN     EXISTS      MINUS        REVOKE      VARCHAR
AUDIT      FILE        MODE         ROW         VARGRAPHIC
BETWEEN    FLOAT       MODIFY       ROWID       VIEW
BY         FOR         MOVE         ROWNUM      WHENEVER
CHAR       FORMAT      NEW          ROWS        WHERE
CLUSTER    FROM        NOAUDIT      RUN         WITH
COLUMN     GRANT       NOCOMPRESS   SELECT
COMMENT    GRAPHIC     NOLIST       SESSION
COMPRESS   GROUP       NOSYSSORT    SET
CONNECT    HAVING      NOT          SHARE
CONTAIN    IDENTIFIED  NOWAIT       SIZE
CONTAINS   IF          NULL         SMALLINT
CRASH      IMAGE       NUMBER       SPACE
CREATE     IMMEDIATE   OF           START
CURRENT    IN          OFFLINE      SUCCESSFUL
DATAPAGES  INCREMENT   OLD          SYNONYM
DATE       INDEX       ON           SYSDATE
DBA        INDEXED     ONLINE       SYSSORT
DECIMAL    INDEXPAGES  OPTIMIZE     TABLE
DEFAULT    INITIAL     OPTION       TEMPORARY
DEFINITION INSERT      OR           THEN

                                ТИПЫ ДАННЫХ
        Когда вы создаете таблицу,вы должны определить тип,кото-
рый можно применять в каждом столбце.SQL*Plus  распознает
следующие типы данных:
               Как определяется
               в CREATE TABLE
Тип данных     или ALTER TABLE   Приложение

Char           CHAR(размер)      Символьные данные с
(символьные                      указанной(размер)
 данные)                         длиной.
                                 Максимальный размер 240
               VARCHAR(размер)   То же,что и CHAR
Date(дата)     DATE              Корректная дата,начиная
                                 с  1-го  января,4712 (до
                                 н.э.)  до  31-го  декабря,
                                 4712 (н.э.).
Long           LONG              Символьные  данные,пере-
("длинные"                       менной   длины   до  65535
символьные                       знаков.Только один столбец
данные)                          типа LONG м.б.опре-
                                 делен в таблице.Такие
                                 столбцы не м.б.ис-
                                 пользованы  в подзапросах,
                                 функциях,выражениях,пре-
                                 дложениях WHERE или индек-
                                 сах.Таблица,содержащая
                                 столбец типа  LONG,не м.б.
                                 включена  в клас-
                                 тер.
               LONG VARCHAR      То же,что и LONG.
Number(число)  NUMBER            Для числовой колонки на 40
                                 цифр,исключая 10-ую
                                 точку и знак.Числа м.б.записаны 2 спосо-
                                 бами:первый,цифры'0'-'9',
                                 знак  и 10-ая точка
                                 ('.'),второй,экспонен-
                                 циальный   формат,напр.,
                                 "1.85Е3",что означает 1850.
                NUMBER(размер)   Для числовых колонок опре-
                                 деленного размера.
                                 Максимальный размер -105 цифр.
                NUMBER(размер,Для числовых колонок опре-
                количество)      деленного размера с   ука-
                                 занным  количеством   цифр
                                 после 10-ой точки,
                                 максимальное количество
                                 этих цифр - 42.
                 NUMBER(*)       То же,что и NUMBER.
                 DECIMAL         То же,что и NUMBER.Без
                                 указания размера и количе-
                                 ства цифр после 10-ой точки.
                 FLOAT           То же,что и NUMBER.
                 INTEGER         То же,что и NUMBER.Без
                                 указания  размера и  коли-
                                 чества  цифр после 10-ой точки.
                 SMALLINT        То же,что и  INTEGER.
Raw(исходные     RAW(размер)     Исходные  двоичные данные,
                                 с указанным в байтах  раз-
данные)                          мером.
                                 Максимальный    размер-240
                                 байтов.
Long Raw         LONG RAW        Исходные  двоичные данные;
("длинные"                       в  остальном  так  же  как
исходные данные)                 LONG.
RowID (идентифи- (отсутствует)   Значение,которое однознач-
катор строки)                    но определяет строку в та-
                                 блице.Оно возвращается  с
                                 помощью псевдоколонки ROWID
                                 и обрабатывается  функцией
                                 CHARTOROWID и ROWIDTOCHAR.
                                 Колонкам таблицы  назначен
                                 этот тип.

                              ПРАВИЛА СРАВНЕНИЯ
        Числовые значения: большая величина рассматривается " боль-
ше" ("greater") меньшей.Все отрицательные числа меньше,чем
положительные.Таким образом,-1 меньше чем 100; -100 меньше чем -1.
        Даты: более поздняя дата считается "больше"("greater") ранней.
        Символьные значения: величины сравниваются знак  за  знаком
до первого несовпадающего.Величина  у  которой  этот знак
"больше" считается большей.Если величины совпадают по зна-
кам до конца более короткой,то  более  длинная  считается
большей.Две совпадающие величины одинаковой длины считают-
ся равными.
        Символьные знаки сравниваются согласно тому  отношению  по-
рядка,который задан на вашем компьютере.Один знак больше
другого,если согласно этому порядку он находится  в после-
довательности позднее.
        В действительности   все  современные компьютеры используют
одну из двух упорядоченных последовательностей:
ASCII(американский стандартный код для объмена информацией)
и EBCDIC (расширенный  двоично-десятичный  код  для  обмена
информацией).Эти последовательности приведены ниже.
        Большие ЭВМ фирмы IBM и совместимые с ними обычно использу-
ют EBCDIC.Большинство других,включая персональные компью-
теры IBM,используют ASCII.
        Заметим,что так как при установленной упорядоченной   пос-
ледовательности из двух знаков один всегда больше,или  ме-
ньше другого,заглавная буква и такая же строчная  буква  не
эквивалентны.В ASCII все маленькие буквы больше заглавных.
В  EBCDIC наоборот.

Таблица 1-1     Упорядоченная последовательность ASCII
 1.пробел                  28.; (точка с запятой)
 2.!                       29.< (левая угловая скобка)
 3."                       30.=
 4.#                       31.> (правая угловая скобка)
 5.$                       32.?
 6.%                       33.@
 7.&                    34-59.буквы на верхнем регистре
 8.' (апостроф)                A-Z
 9.(                       60.[
10.)                       61.\
11.*                       62.]
12.+                       63.^ (знак ^)
13.,(запятая)             64._ (знак подчеркивания)
14.- (дефис)               65.' (знак ударения)
15..(точка/десятичная  66-91.буквы на нижнем регистре
       точка)                   a-z
16./ (косая черта)         92.{
17-26 цифры,от 0 до 9      93.| (вертикальная черта)
27.: (двоеточие)           94.}
                            95.~ (тильда)

Таблица 1-2   Упорядоченная последовательность EBCDIC
 1.Пробел                 16./ (косая черта)
 2.              17.,(запятая)
 3..(точка/десятичная    18.%
       точка)              19._ (знак подчеркивания)
 4.<                      20.>
 5.(                      21.?
 6.+                      22.: (двоеточие)
 7.|                      23.#
 8.&                      24.@
 9.!                      25.' (апостроф)
10.$                      26.=
11.*                      27."
12.)                   28-53.буквы на нижнем регистре
13.; (точка с запятой)        a-z
14.(знак отрицания)  54-79.буквы на верхнем регистре
15.- (дефис)                  A-Z
                        80-89.числа,0-9

                                МОДЕЛИ ФОРМАТОВ
        Символьные и числовые модели форматов используются в коман-
дах BTITLE,TTITLE и COLUMN в предложениях FORMAT для уп-
равления высвечиванием данных.Модели формата даты исполь-
зуются в функциях TO_CHAR и TO_DATE.

                               СИМВОЛЬНЫЕ ФОРМАТЫ
        Символьный формат  состоит из буквы 'A' и следующего за ней
указания щирины столбца в символах.Если значение не укла-
дывается в указанную ширину,оно будет сдвинуто или обреза-
но в зависимости  от  того была ли выполнена установка  SET
WRAP или SET TRUNC.

                             ЧИСЛОВЫЕ ФОРМАТЫ
Элементы моделей числового формата следующие:

Элемент       Пример                 Описание
9             9999            Количество цифр,определяющих
                              ширину высвечивания.
0             0999            Высвечивание ведущих нулей.
$             $9999           Префиксное значение со знаком
                              доллара.
B             B9999           Высвечивание нулевых значений
                              как пробелов,а не как нулей.
MI            9999MI          Высвечивание знака '-' после
                              отрицательных чисел.
PR            9999PR          Высвечивание    отрицательных
                              чисел в <угловых скобках>.
Запятая       9,999           Высвечивание запятой  в  ука-
                              занной позиции.
Точка         99.99           Настройка 10-ой точки на
                              указанную позицию.
V             999V99          Умножение на 10 в N-ой степе-
                              ни,где N - количество девяток
                              после 'V'.
E             9&999EEEE       Высвечивание в экспоненциаль-
                              ной форме ( формат должен со-
                              держать ровно 4 буквы 'E').
DATE          DATE            Высвечивание  в  формате даты
                              'MM/DD/YY'.Для дат,хранящихся
                               как числовые величины(ORACLE
                               версия 2).
        Указание любого числового формата приводит   SQL*PLUS к ок-
руглению числа до указанного количества значащих цифр.
        Если  формат не  указан  ,ширина  элемента принимается по
умолчанию равной NUMWIDTH (см.команду SET в главе 2).

                                ФОРМАТЫ ДАТ
Элементы моделей формата дат следующие:

Обозначение                       Значение
SCC или СС          Век; 'S'- префикс перед датой (до н.э.)  с'-'.
YYYY или SYYYY      Год; 'S'- префикс перед датой (до н.э.)  с'-'.
YYY  YY или Y       Последние три,две или одна цифры года.
Y,YYY               Год с запятой в данной позиции.
SYEAR или YEAR      Год прописью.
                    'S'-префикс перед датой (до н.э.) с'-'.
BC или AD           BC/AD - (до н.э.) / ( н.э.).
B.C.или A.D.Аналогично BC/AD.
Q                   Четверть года.
MM                  Месяц.
MONTH               Имя месяца,дополненное  пробелами  до 9 символов.
MON                 Имя месяца;трехбуквенная аббревиатура.
WW или W            Неделя года или месяца.
DDD DD или D        День года,месяца или недели.
DAY                 Наименование дня,добавленное пробела-
                    ми до 9 символов.
DY                  Наименование дня ; трехбуквенная аббре-
                    виатура.
J                   День по Юлианскому календарю; количест-
                    во дней  от  31 декабря,4713 до н.э.
AM или PM           Указатель часового пояса.
A.M.или P.M.Указатель часового пояса.
HH или HH12         Время суток,интервал 1-12.
HH24                Время суток,интервал 0-23.
MI                  Минуты.
SS                  Секунды.
SSSSS               Секунды после полуночи (0-86399).
/.,и.т.д.Пунктуация,которая  воспроизводится  в
                    результате.
"..."               Строка  в кавычках,которая воспроизво-
                    дится в результате.

Префикс ,указанный ниже,м.б.добавлен к кодам  перечисленным выше:

fm                  "Fill mode"(режим наполнения).Указанный
                    перед MONTH или  DAY подавляет пробелы,
                    оставляя только  результат  фактической
                    длины.С другими кодами недействителен.

Суффиксы,указанные ниже м.б.добавлены к кодам перечисленным выше:

TH                  Порядковое число(напр.,"DDTH" для "4TH")
SP                  Число прописью (напр.,"DDSP" для "FOUR")
SPTH или THSP       Порядковое число прописью(напр.,
                    "DDSPTH") для "FOURTH").

        Наличие заглавных букв в аббревиатурах или в словах  пропи-
сью определяется наличием заглавных  букв в  соответствущем
форматном элементе.Например,"DAY"  в модели формата дает
слова из заглавных букв,такие как:
                          "MONDAY";
"Day" дает
                          "Monday";
и "day" дает
                          "monday".

        Модель формата даты может также включать в себя знаки пунк-
туации,такие как дефис,косую черту,запятые  и символьные
константы,заключенные в двойные кавычки ( не в апострофы ).
Пунктуация и константы появляются при выводе.Например  мо-
дель формата:
                    DDth  "of"  Month,YYYY
дает при выводе дату следующего вида:
                    15th  of  February,1986

                                ОПЕРАТОРЫ
        В каждой таблице операторы расположены в  порядке  убывания
по приоритету.Эквивалентные по приоритету операторы  объе-
диняются в групы с помощью пунктирных линий.При последова-
тельном выполнении операторов одного приоритета,они выпол-
няются в порядке написания,слева направо.

                        SQL*Plus Синтаксические операторы
        Эти операторы могут появиться в любом месте команды и имеют
более высокий приоритет,чем операторы всех других типов.

Оператор      Функция                Пример
-             Продолжение команды    COLUMN JOB -
              SQL*PLUS               HEADING 'Job Title';
&             Указывает параметр     SELECT * FROM EMP
              в командном файле,WHERE JOB='&' AND
              запускаемом с по-      SAL=&1;
              мощью START.Фразы     ...
              подставляются вмес-    START EX 'CLERK' 950;
              то знаков '&'; пер-
              вая вместо '&1',
              вторая вместо '&2',
              и.т.д..
&,&&          Идентифицирует подс-   SELECT * FROM EMP
              тавляемую переменную   WHERE JOB=
              в SQL команде.Теку-   '&WHICH_JOB' AND
              щее значение   пере-   SAL=&SALARY;
              менной подставляется
              в  имя  переменной ,
              каждый раз когда ко-
              манда выполняется.
              SQL*PLUS дает под-
              сказку на ввод зна-
              чения если находит
              неопределенные пере-
              менные '&' или '&&'.
              '&&' определяет пере-
              менную и хранит зна-
              ние; '&' не выполняет
              этого.
()           Выделение подзапроса    SELECT * FROM EMP
                                     WHERE COMP >
                                     (SELECT COMP FROM EMP
                                     WHERE ENAME='JONES');
,    Выделение символьных    'O''Brien'
             констант или констант   '17-JAN-86'
             обозначающих даты.Для
             указания апострофа в
             символьной константе
             необходимо его удво-
             ить.
"            Выделение имени стол-   SELECT NAME "EMP
             бца или псевдонима,NAME" EMPNO "EMP NUM"
             содержащего специаль-   FROM EMP;
             ные символы.
"            Выделение литеральных   'dd "of" Month yyyy'
             данных в формате даты
@            Обозначение того,что    ...FROM EMP@BOSTON
             за этим знаком следует
             имя связи с БД
             во фразе FROM.

                              SQL Числовые операторы
Оператор      Функция                Пример

()            Переопределение обыч-  SELECT (X+Y)/(X-Y)...;
              ного порядка выполне-
              ния операторов.
+ -           Знак выражения,стоя-  QTYSOLD = -1
              щий перед  числовым    ...WHERE A<-(5*B);
              выражением.
* /           Деление и умножение    SELECT 2*X + 1
                                     ...WHERE X>Y/2;
+ -           Сложение и вычитание   SELECT 2*X - 1
                                     ...WHERE X>Y-Z;
||            Конкатенация   сим-    SELECT 'NAME IS' ||
              вольных величин.ENAME...

                        Логические операторы SQL
Связанная тема: оператор LIKE

Оператор      Функция                Пример

()            Переопределение обыч-  ...NOT(A=1 OR B=1);
              ного порядка выполне-
              ния операторов.
=             Проверка на равенство   ...WHERE SALARY=1000
!=            Проверка  на неравен-   ...WHERE
или <>        ство                    SALARY !=10000
> >=          "Больше"; "больше или   ...WHERE
              равно"                  SALARY >=10000
<  <=          "Меньше"; "меньше или
               равно"
IN             "Равенство одному из    ...WHERE JOB IN
               членов..."              ('CLERK','ANALIST')
IN              Эквивалентно '=ANY'     ...WHERE SAL IN
               т.е.,равенство любо-   (SELECT SAL FROM EM
               му.           ...WHERE DEPTNO=30)
NOT IN         Эквивалентно '!=ALL'    ...WHERE SAL NOT IN
               (не равно ни одному)    (SELECT SAL FROM EMP
                                       WHERE DEPTNO=30)
ANY            Сравнить значение с     ...WHERE SAL = ANY
               каждым значением,воз-   (SELECT SAL FROM EMP
               вращаемым списком или   WHERE DEPTNO=30)
               подзапросом
ALL            Сравнить значение с     ...WHERE SAL > ALL
               каждым значением,воз-   (SELECT SAL FROM EMP
               вращаемым списком или   WHERE DEPTNO=30)
               подзапросом
[NOT]          "[Не](больше или равно  ...WHERE A BETWEEN 1
BETWEEN        x и меньше или равно    AND 9
AND...y)"
EXISTS         "Истина",если подзап-  ...WHERE EXISTS
               рос возвращает хотя     (SELECT SAL FROM EMP
               бы одну строку          WHERE DEPTNO=30)
[NOT] LIKE     "Соответствие [ или     ...WHERE COD LIKE
               несоответствие] следу-  'T%'
               ющему шаблону".
               '%'указывает на соот-
               ветствие любой строке
               знаков;
               '_' - соответствие
               одиночному символу
               (см.описание LIKE).
IS [NOT]       "Равно[не равно] пус-   ...WHERE JOB IS NULL
NULL            тому значению"
NOT             Преобразование резуль- ...WHERE  NOT (JOB
                тата логической опера- IS NULL)
                ции в противоположный  ...WHERE  NOT(COD
                                       LIKE'T%')
                                       ...WHERE  NOT(SAL
                                       BETWEEN 500 AND 999)
                                       ...WHERE  NOT(A=1)
AND             Комбинация 2-х логи-   ...WHERE  A=1
                ческих выражений,ис-        AND B=1
                тинная (TRUE)  тогда,
                когда истины оба.
OR              Комбинация 2-х логиче- ...WHERE  A=1
                ских выражений,истин-       OR  B=1
                ная(TRUE) тогда,когда
                истинно хотя бы одно
                из них.

                     ОПЕРАТОРЫ В ВЫРАЖЕНИЯХ ЗАПРОСОВ SQL.
Оператор       Функция                   Пример

( )            Переопределение обычного  SELECT...UNION
               порядка следования опера- (SELECT...MINUS
               торов.          SELECT...);
UNION          Объединение запросов для  ...SELECT...
               получения всех различных  UNION SELECT...;
               строк,которые возвраща-
               ются каждым  подзапросом
               индивидуально.
INTERSECT      Объединение запросов для  ...SELECT...
               получения тех различных   INTERSECT
               строк,которые возвраща-  SELECT...;
               ются в результате обоих
               подзапросов.
MINUS          Объединение запросов так,...SELECT...
               чтобы получить все(раз-   MINUS SELECT...;
               личные) строки,возвраща-
               емые первым запросом и не
               возвращаемые вторым.

                            ДРУГИЕ ОПЕРАТОРЫ SQL

Оператор       Функция                   Пример

(+)            Указание того,что пре-  ...WHERE DEPT.
               дыдущий столбец являет-  DEPTNO=EMP.DEPTNO(+)
               ся внешним,объединяющим
               столбцом в соединении.
*              Выбор всех столбцов из    ...SELECT  *...
               таблиц запроса.Может
               предворяться именем таб-
               лицы  для  выбора   всех
               столбцов в этой таблице.
               Если  используется вместо
               имени столбца при подсче-
               тах,приводит к включению
               в подсчет строк с пустыми
               значениями.
ALL            Сохранение дублирующих    ...SELECT ALL*...
               значений в запросах и     ...COUNT(ALL
               в составных выражениях.DEPTNO)
DISTINCT       Исключение дублирующих    ...SELECT
               строк из результата зап-  DISTINCT*...
               роса или составных выра-  ...COUNT(DISTINCT
               женияй.         DEPTNO)...
PRIOR          Определение отношений     ...CONNECT BY
               родитель-потомок в запро- PRIOR EMPNO=MGR
               се со структурой дерева.
               Выражение перед PRIOR оп-
               ределяет родителя;другое
               выражение потомка.Может
               использоваться в любом вы-
               ражении в запросе с древо-
               видной структурой (не толь-
               ко в CONNECT BY).

                                ФУНКЦИИ  SQL
        Вообще  говоря,функции м.б.использованы везде,где
используются переменные пользователя,столбцы или выражения
(соответствующего типа).
        В следующих таблицах "Тип"  указывает тип значения,возвра-
щаемый функцией.Где возможно,тип обозначается аббревиату-
рой.
*    'C' означает "char" (символы)
*    'D' означает"date" (дата)
*    'N' означает"number" (числа)
*    'R' означает"rowID" (идентификатор строки)
*    'W' означает"raw" (исходные данные)
*    '*' означает тип данных,зависящий от контекста  функ-
     ции.
*    n,m указывают на численные выражения.
*    "символ" ,"символ1" ,"символ2" ,"набор"    означают
      символьные  выражения.
*    "выраж" ,"строк","результ" и  "по_умолч"  обозначают
     выражения любого типа.
*    d,l обозначает выражения типа даты

                                ЧИСЛОВЫЕ ФУНКЦИИ
Тип      Функции          Возвращаемое значение

N       ABS(n)            Абсолютное значение n
N       CEIL(n)           Наименьшее целое,не меньшее n.
N       FLOOR(n)          Наибольшее целое,не больше n.
N       MOD(m,n)          Остаток от деления m на n.
N       POWER(m,n)        m в степени n.Если n не целое,
                          то оно усекается до целого.
N       ROUND(n[,m])      n,округленное до m-того десятич-
                          ного знака; если m опущено,то оно
                          принимается равным 0.m м.б.
                          отрицательным для округления цифр
                          левее десятичной точки.
N       SIGN(n)           Если n<0,то -1; если n=0,то 0;
                          если n>0,то 1.
N       SQRT(n)           Корень квадратный из n,если n<0,
                          то NULL.
N       TRUNC(n[,m])      n,усеченное до m 10-ых зна-
                          ков;  если m опущено,то оно при-
                          нимается равным 0.m м.б.
                          отрицательным для  усечения(обну-
                          ления)  цифр слева от10-ой точки.

                                СИМВОЛЬНЫЕ ФУНКЦИИ
Тип    Функция            Возвращаемое значение

N      ASCII(символ)      Код  ASCII  первого символа  сим-
                          вольной переменной "символ".
С      CHR(n)             Символ,код ASCII которого равен n
C      INITCAP(символ)    Символьная переменная  с  первыми
                          буквами   слов,начинающихся  с
                          заглавной буквы.
N      INSTR(символ1,
       символ2[,n[,m]])   Позиция m-того включения "cимвол2"
                          в "символ1" при  начале  поиска с
                          позиции n.Если m опущено,по умол-
                          чанию предполагается 1;аналогично
                          для n.Позиции даются относитель-
                          но первого  знака "символ1",даже
                          если n>1.
N      LENGTH(символ)     Длина в знаках  символьной  пере-
                          менной "символ".
C      LOWER(символ)      "символ",где все буквы устанавли-
                          ваются  маленькими.
C      LPAD(символ1       строка " символ1" ,добавленная
       n[,символ2])       слева до длины  n  последователь-
                          ностью знаков из строки "символ2"
                          с повторением этой последователь-
                          ности столько раз сколько необхо-
                          димо.Если   "символ2"  опущено,
                          используются пробелы.
C      LTRIM(символ,строка "символ",в которой вычер-
       набор)             кнуты  начальные  знаки вплоть до
                          первого   не   встречающегося   в
                          "набор"  знака.
С      RPAD(символ1,строка "символ1" ,добавленная
       n[,символ2])       справа символами  "символ2",с по-
                          вторением,если  необходимо; если
                          "символ2" опущена ,используются
                          пробелы.
C      SOUNDEX(символ)    Символьная переменная,представ-
                          ляющая звуки слов в "символ".
C      SUBSTR(символ,Подстрока,получаемая из "символ",
       m[,n])             начинающаяся с  символа  m и дли-
                          ной n символов  (если  n опущено,
                          то до конца "символ").
C      TRANSLATE          строка "символ1",странслированная
       (символ1,символ2,из множества символов "символ2" в
       символ3)           множество "символ3";каждый символ
                          из "символ1" переводится в  соот-
                          ветствующий символ из "символ3".
C      UPPFR(символ)      строка из символов верхнего ре-
                          гистра (заглавные буквы).
C      USERNV(символ)     Возвращает информацию о пользова-
                          теле,которая полезна для состав-
                          ления прикладных таблиц  слежения
                          за окончанием какого-либо процес-
                          са .Если "символ" есть'ENTRYID'-
                          возвращается  доступный идентифи-
                          катор элемента ,за которым  идет
                          слежение  ;  если  "символ"  есть
                          'SESSIONID'- возвращается иденти-
                          фикатор пользователя,находящегося
                          в сеансе  работы с базой ;  если
                          "символ" есть 'TERMINAL'- возвра-
                          щается  идентификатор   терминала
                          пользователя (в терминах операци-
                          онной системы).LANGUAGE  возвра-
                          щает используемый язык (например,
                          'ENGLISH').

                                ГРУППОВЫЕ ФУНКЦИИ
        Групповые  функции  имеют значение только в запросах и под-
запросах.
        DISTINCT   приводит  к  групповой функции,рассматривающей
только различные значения выражения; ALL принуждает рассма-
тривать все значения.Например,DISTINCT  при нахождении
среднего значения  из 1,1,1,и 3 есть 2,тогда как  ALL при
этой же операции есть  1.5.

По умолчанию всегда берется ALL.

Тип    Функция               Возвращаемое значение

N      AVG([DISTINCT|ALL]n)  Среднее значение  n,с игнори-
                             рованием пустых значений.
N      COUNT({[DISTINCT|ALL] Количество строк,в которых "вы-
             выраж|*})       раж" не является пустым(NULL).
                             '*'-обозначает,что COUNT под-
                             считывает все выбранные строки
N      MAX([DISTINCT|ALL]    Максимальное значение "выраж"
           выраж)
N      MIN([DISTINCT|ALL]    Минимальное значение "выраж"
           выраж)
N      STDDEV([DISTINCT|     Среднеквадратичное (стандарт-
              ALL]n)         ное) отклонение от n,с игно-
                             рированием пустых значений.
N      SUM([DISTINCT|ALL]n)  Cумма значений n.
N      VARIANCE([DISTINCT|   Дисперсия  n,с игнорированием
               ALL]n)        пустых значений.

                          ФУНКЦИИ ПРЕОБРАЗОВАНИЯ
Тип    Функция             Результат(возвращаемое значение)

C      CHARTOROWID(символ)   Преобразование строки "символ"
                             в идентификатор строки.
W      HEXTORAW(символ)      Преобразование строки "символ",
                             содержащей 16-ые
                             значения в  строку с двоичными
                             значениями (удобными для вклю-
                             чения в  RAW-столбец(столбец с
                             исходными данными)).
C      RAWTOHEX(исх_данн)    Преобразование "исх_данн"(исхо-
                             дные данные) в строку,содержа-
                             щую 16-ые значения.
C      ROWIDTOCHAR(идент_стр) Преобразование  идентификатора
                             строки  в  строку,длиной  18
                             символов.
C      TO_CHAR(n[,фмт])
C      TO_CHAR(d[,фмт])      Преобразование  n или d в сим-
                             вольный вид по формату,опре-
                             деленному с помощью "фмт"(сим-
                             вольная переменная).
                             Об "фмт" смотри "Модели форма-
                             тов"  в этой главе.
                             Если "фмт" опущено n преобразу-
                             ется в строку такой длины,ко-
                             торая вмещает только  значащие
                             цифры; d преобразуется в стро-
                             ку согласно умолчанию   ORACLE
                             по дате:  'DD-MON-YY'.
D     TO_DATE("символ"       Преобразование даты в символь-
              [,фмт])        ном  виде     в значение даты.
                             "фмт"- это строка,определяющая
                             формат  строки   "символ" .Об
                             "фмт" смотри "Модели Форматов"
                             в этой главе.
                             Если "фмт" опущена,"символ" до-
                             лжна иметь формат даты по умол-
                             чанию 'DD-MON-YY'.
D      TO_DATE(n,[фмт])      Преобразование числа n в дату.
                             "фмт" д.б.такой же как
                             и в TO_CHAR,(напр.,'I' или 'MM').
N      TO_NUMBER(символ)     Преобразование строки "символ",
                             представляющей число,в  число-
                             вое значение.

                        ФУНКЦИИ РАБОТЫ С ДАТАМИ
Тип     Функции              Результат

D       ADD_MONTHS(d,n)      Дата d плюс n месяцев
D       LAST_DAY(d)          Дата  последнего  дня   месяца
                             содержащего d
N       MONTHS_BETWEEN(d,e)  Количество месяцев между d и e.
                             Eсли d более поздняя дата,чем
                             e,результат положителен,ина-
                             че  отрицателен.
D       NEW_TIME(d,a,b)      Дата и время во временной зоне
                             b ,если во  временной зоне a
                             они равны d.
                             a  и  b  символьные  выражения
                             следующих значений:
                             AST ,ADT   Время по стандарту
                                       Атлантики ,дневное
                                       время.
                             BST,BDT   Время  по  стандарту
                                       Беринга ,дневное
                                       время.
                             CST,CDT   Время по Центрально-
                                       му стандарту ,днев-
                                       ное время.
                             EST,EDT   Время по  Восточному
                                       стандарту  ,дневное
                                       время.
                             GMT       Среднее   время   по
                                       Гринвичу.
                             HST,HDT  Время  по  стандарту
                                       Аляска-Гавайи,днев-
                                       ное время.
                             MST,MDT   Время  по  стандарту
                                       Mountain  ,дневное
                                       время.
                             NST       Время  по  стандарту
                                       Нью-Фаунленда.
                             PST,PDT   Тихоокеанский  стан-
                                       дарт ,дневное время
                             YST,YDT   Время  по  стандарту
                                       Юкона,дневное время
D       NEXT_DAY(d,символ)   Дата первого из  дней  недели,
                             обозначенной "символ",которая
                             больше или равна d.
N       TRUNC(d)             d  с усеченным  временем суток

                                Дpугие функции
Тип   Функция   Результат (возвpащаемое значение)

*    DECODE (выраж,строк1,результ1,строк2,результ2,
              ...[по_умолч] )
               Если "выраж" pавно любой из стpок "строк1",
               возвpащает соответствующее "результ"; если
               нет,то возвpащает "по_умолч".Если соответ-
               ствия  не  найдено,а "по_умолч" опущен ,то
               возвpащается NULL (пустое значение)."выраж"
               м.б.любого типа; "строк" должен быть
               такого же типа.Возвpащаемое значение всегда
               имеет тот же тип данных,что и 1-ый"результ".
*    DUMP (выраж[,radix[,нач_позиция[,биты]]] )
               Высвечивает значение  выpажения  "выраж" во
               внутpеннем фоpмате.
*    GREATEST ( выраж,выраж,...)
               Возвpащает наибольшее из  списка  значений.
               Пеpед сpавнением все выpажения пpеобpазуют-
               ся к типу пеpвого выpажения.
*    LEAST (выраж,выраж,...)
               Возвpащает наименьшее из  списка  значений.
               Пеpед сpавнением все выpажения пpеобpазуют-
               ся к типу пеpвого выpажения.
*    NVL ( x,выраж )
               Если х имеет пустое значение (null),возв-
               pащает "выраж";если х имеет непустое значе-
               ние,то возвpащается х.x  и  "выраж" м.б.
               любого типа.Тип возвpащаемой величины
               такой же как для х.
N    VSIZE ( выраж )
               Возвpащает количество байтов,котоpое зани-
               мает "выраж"  во  внутpеннем  пpедставлении
               ORACLE.

                                ПСЕВДО-СТОЛБЦЫ
Тип   Функция   Результат (возвpащаемое значение)

N    LEVEL     Возвpащает 1  для  коpня,2  для  дочеpнего
               уpoвня коpня,и.т.д.Используется в команде
               SELECT ...CONNECT BY
-    NULL      Пустое значение.
R    ROWID     Возвpащает  идентификатоp стpоки.Использу-
               йте  идентификатоp стpоки в командах UPDATE
               ...WHERE и SELECT ...FOR UPDATE для  уве-
               pенности в том,что команда будет коppекти-
               pовать тpебуемую стpоку,а не дpугие.
N    ROWNUM    Возвpащает число,указывающее  последовате-
               льность,в  котоpой стpока была выбpана из
               таблицы  или  множества  связанных  таблиц.
               Пеpвая  выбpанная  стpока  имеет  ROWNUM 1,
               втоpая 2,и  т.д.
               ROWNUM в основном используется для  огpани-
               чения числа стpок,возвpащаемых в pезультате
               запpоса ( напpимеp,...WHERE ROWNUM < 5 ).
               ROWNUM  также  может  быть использована для
               назначения уникальных значений каждой стpо-
               ке в таблице ( напpимеp,UPDATE table SET
               column = ROWNUM ).
D    SYSDATE   Текущая дата и вpемя.
N    UID       Число,идентифициpующее данного пользователя
               ( на  каждого  пользователя пpиходится один
               идентификатоp ).
C    USER      Имя текущего пользователя.

                        ОБЗОР СЛОВАРЯ ДАННЫХ
        Словарь данных содеpжит инфоpмацию об  опpеделениях в БД
.Пользователь имеет доступ к этой инфоpмации с по-
мощью pазличных обзоpов ( экpанных  фоpм пpосмотpа ) этого
словаpя.Используйте имена этих обзоpов в команде SELECT ,
если желаете иметь инфоpмацию о содеpжимом словаpя.

бзоp                  Описание

AUDIT_ACTIONS  Коды,опpеделяющие действия пpоцесса сле-
               жения и их описания.
AUDIT_ACCESS   Инфоpмация пpоцесса слежения ( выход  ко-
               манды ORACLE AUDIT ) за доступом к табли-
               це пользователя ORACLE.Для администpатоpа
               базы (DBA)  относится  ко  всем  таблицам
               пользователя.
AUDIT_CONNECT  Инфоpмация пpоцесса слежения,относящаяся
               к сеансам pаботы пользователя.
               Для администpатоpа базы (DBA)   относится
               ко всем пользователям.
AUDIT_DBA      Инфоpмация пpоцесса слежения,относящаяся
               только к  опеpациям  администpатоpа  базы
               (DBA).
AUDIT_EXISTS   Инфоpмация пpоцесса слежения за доступами
               к  таблице,котоpые  были  неудачны  по
               условию "does not exist" (не существует).
               Относится  только  к  администpатоpу базы
               (DBA).
AUDIT_TRAIL    Выход  пpоцесса  слежения,относящегося к
               пользователю.Для  администpатоpа  базы
               (DBA) относится ко всем пользователям.
CATALOG        Таблицы,обзоpы (экpанные фоpмы)  и клас-
               теpы доступные пользователю,за исключе-
               нием самого словаpя БД.
CLUSTERS       Кластеpы пользователя.
CLUSTERCOLUMNS Столбцы в кластеpах пользователя.
COL            Столбцы в таблицах пользователя.
DBLINKS        Связи с БД,доступные пользователю.
DEFAULT_AUDIT  Паpаметpы  пpоцесса  слежения  для  вновь
               создаваемых таблиц.
DTAB           Таблицы и экранные фоpмы в словаpе данных.
EXTENTS         Стpуктуpа данных экстентов внутpи таблиц.
INDEXES         Индексация  пользователя   и  индексация
                таблиц,создаваемых пользователем.
PARTITIONS      Файловая стpуктуpа файлов,находящихся в
                pазделе ( только для администpатоpа ).
PRIVATESYN      Синонимы пользователя.
PUBLICSYN       PUBLIC (общие) синонимы.
SESSION         Показывает pегистацию пользователя (если
                слежение за pегистpацией установлено ад-
                министpатоpом базы ).
SPACES          Опpеделение пpостpанства   для  создания
                таблиц и кластеpов.
STORAGE         Распpеделение памяти для данных и индек-
                сов пользовательской таблицы.
SYNONYMS        Синонимы  пользователя  и PUBLIC (общие)
                синонимы.
SYSCATALOG      Таблицы,экранные фоpмы и кластеpы,до-
                ступные пользователю.
SYSCOLUMNS      Столбцы в таблице и экранные формы,дос-
                тупные пользователю.
SYSDBLINKS      Связи в БД в системе(только для
                администpатоpа БД ).
SYSEXTENTS      Стpуктуpа данных таблиц в системе (толь-
                ко для администpатоpа БД).
SYSINDEXES      Индексы,соответствующие столбцы ,опции,
                пользователь,создавший таблицу и  паpа-
                метpы.
SYSPROGS        Список  модулей  пользователя ,не испо-
                льзуемых в данный момент.
SYSSESSIONS     Высвечивание всех pегистpаций пользовате-
                ля ( если контpоль pегистpаций задан  ад-
                министpатоpом базы ).
SYSSTORAGE      Общее количество памяти ,занимаемое БД
                (только для  администpатоpа
                базы).
SYSTABALLOC     Размещение данных  и  индексов  для всех
                таблиц (только для администpатоpа базы).
SYSTABAUTH      Спpавочник ,описывающий pазpешение дос-
                тупа,пpедоставленное пользователем  или
                пользователю.
SYSTEM_AUDIT    Инфоpмация  об  использовании  системных
                pесуpсов,котоpую ORACLE фоpмиpует после
                издания  команды AUDIT (только для адми-
                нистpатоpа базы ).
SYSUSERAUTH     Список пользователей ORACLE (только  для
                администpатоpа базы ).
TAB             Таблицы,экpанные фоpмы и кластеpы,пpи-
                надлежащие пользователю.
TABALLOC        Размещение данных  и  индексов  для всех
                таблиц пользователя.
TABLE_AUDIT     Паpаметpы AUDIT,относящиеся  к таблицам
                пользователя .Для администpатоpа БД
                паpаметpы AUDIT относятся ко всем
                таблицам.
VIEWS           Текст запpоса в команде CREATE VIEW ,ко-
                тоpая создает любую экpанную фоpму в БД.

                      ПАРАМЕТРЫ И ПОДСТАВЛЯЕМЫЕ ПЕРЕМЕННЫЕ
        Командный файл может содержать параметры,которые представ-
ляют собой обозначение величин,подставляемых во время  вы-
полнения файла.Каждый параметр состоит из амперсанда ('&')
за которым следует число,напр.,'&1'.Если  параметр пред-
ставляет  собой символьное  значение или дату,то он должен
быть заключен в апострофы,как если бы он был константой:

         SELECT * FROM EMP WHERE JOB = 'CLERK'; (константа)
         SELECT * FROM EMP WHERE JOB = '&1';     (параметр)
Вводите значения параметров как аргументы команды START при
запуске командного файла.Первый аргумент после имени коман-
дного файла представляет собой первый параметр,второй аргу-
мент представляет собой второй параметр и.т.д.,напр.,:

         SQL>START JOBS CLERK;

                        ПОДСТАВЛЯЕМЫЕ ПЕРЕМЕННЫЕ
        Подставляемая переменная обозначается  идентификатором  пе-
ременной пользователя с предшествующими амперсандами,одним
или двумя.Когда SQL*PLUS встречает подставляемую переменную
в команде,то выполняет ее с учетом заданного значения.Нап-
ример,если переменная TABNAME имеет значение 'EMP',то ко-
манда:
                         SELECT * FROM &TABNAME;
будет выполнена как:
                         SELECT * FROM EMP;

Когда SQL*PLUS встречает подставляемую переменную,значение
которой не определено,он дает подсказку для ввода значения
с клавиатуры.Это удобный способ получения динамической ин-
формации  от  пользователя  во время  выполнения командного
файла.Например,если переменная GIVENNAME не определена,и
в командном файле используется следующая команда:

         SELECT * FROM EMP WHERE ENAME = '&GIVENNAME';

то SQL*PLUS выведет подсказку:
                                 Enter value for given name: .

Параметры и  подставляемые  переменные могут использоваться
везде в командах SQL*PLUS и SQL.Заметим,что другие про-
дукты ORACLE могут использовать другие соглашения для подс-
тановок в SQL командах.
        SQL*Plus  отображает подсказку на экране вашего терминала и
читает ваш ответ с клавиатуры ,даже если терминальный ввод
или вывод переназначен к файлу .Если терминал не доступен
(например,если командный файл выполняется в пакетном режи-
 ме),используется файл переназначения.
Если указатель на переменную подстановки должен продолжать-
ся символом ,который  должен интерпретироваться  как часть
имени переменной ,необходимо использовать точку(.) для от-
деления переменной от последующего символа:

         DEFINE E=123
         SELECT * FROM EMP WHERE EMPNO='&E.0';

будет интерпретировано как:

         SELECT * FROM EMP WHERE EMPNO='1230';

        Если символ,следующий за именем подставляемой переменной ,
является точкой то,необходимо написать 2 точки .Первая
завершает имя переменной ,а  вторая интерпретируется  как
обычный символ.
                 DEFINE P =94805
                 SELECT * FROM INVENTORY WHERE PARTNO='&P..0C';

будет интерпретировано как:

         SELECT * FROM INVENTORY WHERE PARTNO='94805.0C';

                Одиночный и Двойной Амперсанды : & и &&
        Если вы используете подставляемую переменную с одним ампер-
сандом,SQL*Plus не определяет переменную после запроса ва-
шего значения.То есть,если SQL*Plus впоследствии выполняет
такую же команду ( или подобную ей ,содержащую ту же самую
переменную  для подстановки ) ,он будет снова  запрашивать
значения переменных.
        Если вы используете  подставляемую  переменную  с двумя ам-
персандами,SQL*Plus   выполняет определение переменной при
выдаче приглашения для  ввода значения .Так ,если позднее
SQL*Plus выполняет такую  же команду ,он не будет запраши-
вать вас о вводе нового значения.
        Например,командный файл STATS для подсчета  статистических
данных  подгрупп  в  числовых  столбцах  мог  бы  содержать
следующее:
           SELECT    &&GROUP_COL,MAX(&&NUMBER_COL) MAXIMUM,
                 MIN(&&NUMBER_COL) MINIMUM,
                 SUM(&&NUMBER_COL) TOTAL,
                 AVG(&&NUMBER_COL) AVERAGE
         FROM      &TABLE
         GROUP BY  &&GROUP_COL;

        Когда   вы  запускаете  этот  командный  файл ( до того как
SQL*Plus выполнит описанную данным файлом процедуру)вам бу-
дет дано приглашение на ввод значения по имени:

         Enter value for GROUP_COL: PROJNO
         Enter value for NUMBER_COL: SAL
         Enter value for TABLE: EMP

         PROJNO MAXIMUM MINIMUM  TOTAL  AVERAGE
         ------ ------- ------- ------- -------
          101    3910      920  28813.8 2881.38
          102    5500      800   13050  1864.29
          103    1600    1312.5   4225  1408.33

Если вы  вновь делаете запрос во время текущего сеанса,вам
будет дано приглашение для TABLE (т.к.ее имя имеет одиноч-
ный амперсанд),но не для GROUP_COL или NUMBER_COL (т.к.их
имена соддержат двойные амперсанды).


                                Ограничения
        Подстановочные переменные не м.б.использованы в сле-
дующих контекстах:
 *      Выражения
 *      Команды редактирования буфера: APPEND,CHANGE,DEL,INPUT,LIST.
 *      Некоторые другие команды,где подстановка  не  имеет
       смысла,такие как HELP,REMARK и TIMING.

                     SET - фразы для управления подстановкой
 *      SET SCAN разрешает или запрещает замену.
 *      SET DEFINE  определяет   идентификатор   подстановки
       (обычно '&').
 *      SET VERIFY ON заставляет  SQL*Plus отобразить каждую
       строку командного файла до и после подстановки.
 *      SET DCLSEP задает символ ,который отделяет имя под-
       становочной переменной  от символов,которые следуют
       непосредственно за переменной.

                        НАИБОЛЕЕ ВАЖНЫЕ ФРАЗЫ И ПОНЯТИЯ
DUMMY Table ( пустая таблица )

Описание:   Необходимой  для команды  SELECT  фразой является
FROM .Однако ,иногда  она полезна  для обращения  команды
SELECT,к псевдо-столбцу или выражению ,не связанным с ка-
кой-либо таблицей .В этом случае для удовлетворения требо-
ваний фразы  FROM  обычно  используется  фраза  FROM DUMMY.
D U M M Y  д о л ж н а  б ы т ь  ф а к т и ч е с к и  с у -
щ е с т в у ю щ е й  т а б л и ц е й .Обычно она  задается
с одним столбцом и одной строкой  .Имя и описание столбца
не имеют значения.
  Примеры:   Чтобы отобразить текущую дату,введите:

         SQL> SELECT SYSDATE FROM DUMMY;

                                Фраза FROM
DELETE FROM[ид_польз.]таблица...;
SELECT ...
FROM[ид_польз.]табл.[псевдоним],[ид_польз.]
    табл[@связь][псевдоним],............;

Описание:  FROM - необходимая  фраза команд DELETE и SELECT.
Она идентифицирует таблицу,из которой удаляются строки,или
таблицы,из которых выбираются строки.
        Если таблицей владеет другой пользователь,имя таблицы д.б.уточнено с
помощью  идентификатора  пользователя
принадлежащего владельцу.Идентификатор  пользователя и имя
таблицы разделяются с помощью точки(.) .
        Псевдоним используется для доступа к одной и той же таблице,
упоминаемой более одного раза во фразе FROM или в подзапросе.
        Если таблица находится в удаленной БД,д.б.
описан указатель БД к этой базе." @связь"  описы-
вает линию связи.Если вводится "связь" и не задается поль-
зователь,запрос проверяется для таблицы,принадлежащей по-
льзователю,указанному в описании канала связи БД
        Команды COPY и REVOKE также имеют фразы FROM ,служащие для
других функций.Это описание к ним не относится.
        Примеры: Чтобы  удалить  строку  со  значением 50 в столбце
DEPTNO из таблицы с именем EMP,введите:

         SQL> DELETE FROM EMP WHERE DEPTNO=50;

Чтобы выбрать  строки со значением  40  в столбце DEPTNO из
таблицы с именем EMP,введите:

         SQL> SELECT * FROM EMP WHERE DEPTNO=40;

Для выделения таких строк из двух таблиц ,названных  EMP и
EMP2,введите:

         SQL> SELECT * FROM EMP,EMP2
         WHERE EMP.EMPNO=EMP2.EMPNO
         AND DEPTNO=40;

Если  EMP2 принадлежит другому пользователю с идентификато-
ром BEN,введите:

         SQL> SELECT * FROM EMP,BEN.EMP2
         WHERE EMP.EMPNO=EMP2.EMPNO
         WHERE DEPTNO=40;

                          Фразы GROUP BY и HAVING
SELECT ...
 GROUP BY выр,выр,выр ...HAVING условие
 ...;

          Связанные темы:   SELECT,Групповые Функции.
Описание: Использование GROUP BY заставляет SELECT  отобра-
зить одну строку для каждой группы выбранных строк с одина-
ковыми значениями.Выбор таких групп строк может выполняться
из  одного или более указанных столбцов или выражений.
        Каждое "в ы р" в предложении SELECT должно иметь одинаковое
значение для каждого элемента группы.Т.е.,оно д.б.
или константой,или групповой функцией,такой как MAX,или од-
ним из столбцов GROUP BY,или выражением,составленным иск-
лючительно из таких элементов.
        Выражения  GROUP BY могут указывать на любой столбец в таб-
лицах фразы  FROM  в не зависимости от того,упоминаются ли
они в списке SELECT или нет.
        Чтобы указать,какие группы GROUP BY распечатывать,исполь-
зуется HAVING.Необходимо отличать ее  от WHERE,которая ис-
пользуется для указания строк таблицы  включаемых в группы.
        GROUP BY и HAVING нужно указывать после  WHERE и CONNECT BY
...START WITH.Если специфицируются и GROUP BY,и HAVING ,
то они м.б.заданы в любом порядке.
        Примеры: Чтобы  отобразить  на  экране минимальный и макси-
мальный оклад (salary) для каждого отдела (departament)  из
EMP,введите:

         SQL> SELECT DEPTNO,MIN(SAL),MAX(SAL) FROM EMP
           2  GROUP BY DEPTNO;

Чтобы использовать этот запрос только для коммивояжеров(sa-
lesman),введите:

         SQL> SELECT DEPTNO,MIN(SAL),MAX(SAL) FROM EMP
           2  WHERE JOB='SALESMAN'
           3  GROUP BY DEPTNO;

Чтобы через запрос отобразить только те отделы,для которых
MIN(SAL) (минимальный оклад) ниже 750$,введите:

         SQL> SELECT DEPTNO,MIN(SAL),MAX(SAL) FROM EMP
           2  GROUP BY DEPTNO HAVING MIN(SAL)<750;

                           Соединения в Запросах
SELECT ...FROM табл,табл,...
 WHERE условие...;
                        Связанная тема: SELECT.
        Описание: Когда строки выбираются из двух или более таблиц,
для их соединения  в  разных  таблицах может  использовать-
ся фраза WHERE.Любое логическое выражение  во фразе WHERE,
сравнивающее поля в различных таблицах,определяет  соедине-
ние ; соединяются строки,для которых выражение истинно.
        Оператор  '(+)' можно использовать с любой стороны логичес-
кого выражения для указания внешнего соединения,при котор-
ом каждая строка одной таблицы соединяется по  меньшей мере
с одной строкой другой  таблицы  (указанной с '(+)').Если
отсутствует строка для соединения,то,по правилам соедине-
ния ,определенным с помощью логического выражения ,строка
соединяется с мнимой строкой ,в  которой все поля содержат
пустые значения.
        Примеры: П р о с т о е с о е д и н е н и е: Чтобы  для каж-
дого служащего отобразить его имя,оклад(SAL),должность(JOB),
и название отдела(DNAME),где номер отдела не больше 30,
введите:

         SQL> SELECT     ENAME,SAL,JOB,DNAME
           2  FROM       EMP,DEPT
           3  WHERE      EMP,DEPTNO<=30 AND EMP.DEPTNO=
           4             DEPT.DEPTNO;

Так  как информация для отображения хранится в двух различ-
ных таблицах ,требуется соединение .Строки из двух таблиц
соединяются согласно правилу EMP.DEPTNO=DEPT.DEPTNO.
        Заметим ,что DEPTNO не  обязательно  д.б.выбран из
 таблицы .Кроме того фраза WHERE ( с логическим выражением
DEPTNO<=30 )  используется для выделения строк точно также,
как и для описания соединения.
        В н е ш н е е  с о е д и н е н и е: Чтобы  отобразить ту же
самую информацию,но обеспечить вывод  на экран каждой выб-
ранной из EMP строки,даже ,если  DEPT не содержит  строки
для  соответственного  номера  отдела ,нужно  использовать
оператор  внешнего  соединения  в  DEPT.DEPTNO.Тогда,если
строка из EMP не  соединится с  какой либо строкой из DEPT,
она будет сливаться с мнимой строкой из NULL-таблиц:

         SQL> SELECT     ENAME,SAL,JOB,DNAME
           2   FROM       EMP,DEPT
           3   WHERE      EMP,DEPTNO<=30 AND EMP.DEPTNO=
           4              DEPT.DEPTNO(+);

                                Оператор LIKE
SELECT ...
 WHERE симв LIKE симв ...;
                                Связанная тема: Логические операторы.
        Описание: Когда  фраза  WHERE  применяется  для символьного
столбца ,оператор  LIKE  предпочтительнее использовать для
сравнения символьного столбца с шаблоном,нежели с фиксиро-
ванной величиной.
        Символьный шаблон  может включать 2 специальных символа,
которые могут отождествлять различные  символы  в  столбце.
Специальный символ '_'(символ подчеркивания) сопоставляется
с каким-либо одиночным символом.Специальный символ '%'соот-
ветствует любой последовательности символов,включая нулевые
символы.
        LIKE м.б.использован  в любом логическом  выражении,
содержащем символьные значения,а не только для фразы WHERE
команды SELECT.
        Когда оператор LIKE  используется для поиска по шаблону ин-
дексированного столбца,скоростное  преимущество индексиро-
вания  понижается,если первым  символом в шаблоне является
'_' или '%'.Если первым символом в шаблоне является обычный
символ ,скоростное  преимущество  реализуется в наибольшей
степени,т.к.,ORACLE может ограничивать сравнение строк,ко-
торые начинаются заданным первым символом.
        Примеры:  Фраза  "WHERE ENAME='SMITH%'"  истинна  для  таких
значений,как SMITH,SMITHE,SMITHERS и т.д.
        Предложение  "...WHERE ENAME='SMITH_'"  истинно  для  таких
значений,как SMITHE,SMITHY,SMITHS и т.д.,но не для SMITH,
так как специальный символ  '_'  должен отождествляться при
сравнении с одним и только одним символом.

                        Пустые Величины ( Null Values )
        Поле в столбце любого типа может иметь пустое значение.Та-
кие  значения  присваиваются,когда действительная величина
неизвестна или,не имеет значения.Пустое значение в число-
вом столбце не эквивалентно нулевому.
        Функция  NVL преобразует пустое значение к величине другого
типа.Например,NVL(COMM,0) возвращает 0,если СОММ является
пустым и значение COMM,если COMM - не пустая величина.
        Групповые функции игнорируют пустые значения .Например,в
запросе,который выбирает значения 1000,NULL,NULL,NULL и
2000 для COMM ,величина  AVG(COMM) равна 1500,потому что
(1000+2000)/2=1500
        Остальные функции  и  выражения возвращают пустое значение ,
если  аргумент  имеет  пустое значение .Например ,значение
NULL+1000 равно NULL,величина GREATES(NULL,1000) равна так-
же NULL.
        В логических фразах тестировать на  NULL необходимо с испо-
зованием  выражений  подобных  COMM IS NULL или COMM IS NOT
NULL.Выражения,подобные COMM=NULL,COMM!=NULL,COMM!=1000
не будут возвращать пустые значения.
        Символьные величины нулевой длины интерпретируются как пус-
тая величина.

                                Фраза ORDER BY
SELECT ...
 ORDER BY {выраж|N_позиции} [  ASC  ]|DESC],.......;
                                             Связанная тема  : команда SELECT
        Описание: оператор  ORDER  BY  используется для определения
порядка,в котором результаты запроса будут отображаться на
дисплее.
        Каждое "выраж" является выражением ,базирующемся на одном
или более столбцах в операторе SELECT.Каждый  "N_позиции"
является числом,идентифицирующим позицию элемента данных в
операторе SELECT.Если используются операторы UNION,MINUS,
INTERSECT,пользователь должен  указывать  элементы  данных
ORDER BY с помощью "N_позиции".
        Строки  упорядочиваются  с помощью значения из первого "вы-
раж" или "N_позиции" .Строки с одними и теми же значениями
упорядочиваются с помощью значения следующего элемента (ес-
ли он указан) и т.д..
        ASC или DESC задает порядок возрастания или убывания .Пус-
тые значения предшествуют всем остальным и  в порядке  воз-
растания,и в порядке убывания.
        ORDER BY д.б.указан  после  всех  остальных  фраз,
исключая FOR UPDATE OF.
        Если определены и ORDER BY,и DISTINCT ,то ORDER BY не мо-
жет ссылаться на столбцы ,которые не упоминаются в команде SELECT.
        Если ORDER BY не указан,порядок ,в котором строки выбира-
ются из таблицы,не  определяется  и может варьироваться от
одного запроса к другому.
        Пример:    Чтобы выбрать все записи  о коммивояжерах из EMP и
список их поручений в нисходящем порядке,введите:

         SQL> SELECT * FROM EMP WHERE JOB='SALESMAN'
           2   ORDER BY COMM DESC;

                        Подзапросы и Вложенные Запросы
COPY ...USING запрос;
CREATE ...AS запрос;
DELETE ...WHERE столбец=(подзапрос)...;
INSERT ...запрос;
SELECT ...запрос;
UPDATE ...
       SET (столбец,столбец,...)=(подзапрос)
       [WHERE условие];
...WHERE столбец=(подзапрос)...;
        Связанные темы: Команда COPY; команда CREATE ...AS; коман-
да CREATE TABLE;CREAT VIEW; команда DELETE; команда INSERT;
команда SELECT; команда UPDATE.
        Описание: Запрос  м.б.использован во фразе  другой
команды,такой как SELECT или UPDATE.Такая команда  SELECT
называется  "подзапросом" ,когда она заключена  в круглые
скобки (например,в SELECT),и "запросом",когда это не тре-
буется по синтаксису (например ,в CREATE TABLE или INSERT,
или в соединении с оператором запроса).Здесь и далее такие
команды будут называться подзапросом .Строки ,выбираемые
с помощью подзапроса,не отображаются на экране;вместо это-
го они подаются в команду SQL,включающую  подзапрос  одним
из следующих способов:
 *      Если подзапрос используется с правой стороны  логич.
       выражений или составных выражений,он будет  возвра-
       щать одиночное значение или колонку значений.Это(и)
       значение(ия)  сравниваются  со  значением(ями) левой
       стороны выражения способом,указанным с помощью опе-
       ратора,связывающего две стороны.
 *      Если подзапрос используется ,чтобы указать значения
       в  CREATE TABLE,INSERT или UPDATE,он будет возвра-
       щать одно значение для каждого введенного или обнов-
       ленного  столбца .Это(и)  значение(ия) используются
       для вставки или обновления заданных строк.
Фразы  ORDER BY и  FOR UPDATE OF  не  могут использоватся в
подзапросе
        К о р р е л я т и в н ы й   п о д з а п р о с  используется
только в предложении WHERE команды SELECT UPDATE или коман-
ды DELETE.Он указывает на имя псевдонима для таблицы ,ис-
пользуемой командой SELECT,и определяется один раз для каж-
дой строки,просматриваемой командой SELECT для выбора.
        Внутренний запрос может указывать на строку из внешнего за-
проса.Такое указание может появляться и в перечне SELECT и
/или фразе WHERE.Столбцы для ясности м.б.префикси-
рованы именем таблицы.Если таблицы во внутреннем   запросе
содержат строки  с  одинаковыми именами ,то указатель вне-
шнего  запроса  должен  быть префиксирован именем  таблицы.
Неопределенные столбцы в подзапросе ищутся в таблицах этого
запроса,затем в таблицах следующего внешнего запроса и т.д.
        Примеры: Для поиска служащих,находящихся в Чикаго,которые
имеют такую же работу ,как Аллен ,необходимо использовать
подзапрос ,выбирающий JOB ( работа ) из строки ,в которой
ENAME ,используемое во фразе WHERE ,выделяющей строки с
одинаковым параметром JOB,задается как ALLEN.

         SQL> SELECT     ENAME,LOC,SAL,JOB
           2  FROM       EMP,DEPT
           3  WHERE      LOC='CHICAGO'
           4             AND JOB IN
           5                  (SELECT JOB
           6                   FROM EMP
           7                   WHERE ENAME ='ALLEN')
           8  ORDER BY DEPTNO;

Заметим ,что  условием  WHERE является JOB IN...,а  не
JOB=...,так как  подзапрос возвращает не  значение  поля,
а таблицу ,хотя этот запрос  возвращает  таблицу только с
одним столбцом и  ( если все идет успешно )  только с одной
строкой.
        Для  отображения информации о служащих,чей оклад превышает
средний оклад их отдела,вы должны использовать коррелятив-
ный подзапрос.Это делается при помощи присваивания псевдо-
нима для EMP таблицы,которая содержит информацию об окла-
дах и ссылки к этому псевдониму в подзапросе:

         SQL> SELECT     DEPTNO,ENAME,SAL
           2  FROM       EMP X
           3  WHERE      SAL > (SELECT AVG(SAL)
           4                    FROM EMP
           5                    WHERE X.DEPTNO=DEPTNO)
           6  ORDER BY DEPTNO;

Внешний  запрос для каждой строки из EMP использует внутре-
нний(коррелятивный) подзапрос для вычисления среднего окла-
да служащих одного  и  того  же  отдела ( DEPTNO это DEPTNO
строки,просматриваемой для выбора  посредством коррелятив-
ного подзапроса,эквивалентно X.DEPTNO - значению  в строке
выбираемой с помощью внешнего запроса ).
        Примечание: примеры подзапросов для CREATE TABLE,INSERT  и
UPDATE представлены в описании каждой команды в  отдельнос-
ти.

                                Фраза WHERE
DELETE FROM [ид_польз.]табл ...
 WHERE условие;

SELECT ...
 WHERE условие...;

UPDATE табл [псевдоним] ...
 [WHERE условие];
                  Связанные темы: Логические Операторы ; команда DELETE ; ко-
манда SELECT; команда UPDATE.
        Описание: Задает условие.Команда,содержащая  фразу  WHERE
будет действительна только в строках,которые удовлетворяют
"условию".
        Условие определяется с помощью логического выражения.Напри-
мер,'DEPTNO=30' является логическим выражением,которое ис-
тинно,если величина DEPTNO равна 30,в противном случае зна-
чение выражения будет ложным.
        AND или OR  м.б.использованы для формирования сос-
тавных логических выражений.Например,выражение 'DEPTNO=30
AND JOB='SALESMAN' истинно ,когда истинны  оба компонента
выражения.
        NOT может использоваться для логического отрицания значения
выражения.Например,'NOT(DEPTNO=30 AND JOB='SALESMAN')' яв-
ляется истинным,если "DEPTNO=30 AND JOB='SALESMAN'" ,будет
ложным,и наоборот.
        "Условие" может содержать операторы включения ,такие ,как
IN или EXISTS ,за которыми следует (под)запрос .Оно будет
истинным,если подзапрос удовлетворяет оператору включения.
          Примеры:  Следующая  команда  выделяет все строки ,в которых
значение DEPTNO не равно 30:

         SQL> SELECT * FROM EMP WHERE DEPTNO!=30;

Следущая команда обновляет все  строки ,в которых значение
COMM будет пустым(NULL):

         SQL> UPDATE EMP SET (SAL)=(1.1*SAL) WHERE COMM IS
           2                                    NULL;

Следующая  команда удаляет из EMP все строки,которые имеют
значение DEPTNO,не найденное в таблице DEPT:

         SQL> DELETE FROM EMP WHERE NOT EXISTS
           2  (SELECT * FROM DEPT WHERE DEPT.DEPTNO=
           3   EMP.DEPTNO);

                    Г Л А В А   2    СПРАВОЧНИК КОМАНД
                                  ВВЕДЕНИЕ
        Эта глава содержит детальное описание всех команд SQL и SQL
*PLUS.Команды  представлены  в  алфавитном порядке.Каждое
описание содержит следующие части:
*    Формат  : показывает формат ввода команды.Условные обо-
               значения,используемые в этой главе,обьясня-
               ются ниже.
*    Тип     : показывает,является ли команда командой SQL,
               командой SQL*PLUS,или командой  другого типа
               (например,командой операционной системы ).
*    Описание: показывает,как и где использовать команду.
*    Примеры : показывают примеры использования команд.
        Две справочные  таблицы  содержат  список  команд   SQL   и
SQL*PLUS.Каждая команда содержит краткое описание.
        Примечание: в Pro*ORACLE (командные файлы ORACLE) могут ис-
            пользоваться только команды SQL(но не SQL*PLUS).

                           Команды SQL,краткое описание
     Команда                    Описание

/*...*/                  Комментарий внутри или до команды.
ALTER PARTITION          Добавляет файл к разделу БД.
ALTER SPACE              Изменяет определение пространства.
ALTER TABLE              Добавляет или переопределяет стол-
                         бец в существующей таблице.
AUDIT                    Заставляет  ORACLE  следить за ис-
                         пользованием таблиц,экранных форм,
                         синонимов  или  других   системных
                         средств.
COMMENT                  Включает комментарий  относительно
                         т а б л и ц ы  или   с т о л б ц а
                         в словарь данных.
CREATE CLUSTER           Создает кластер,который может со-
                         держать две или более таблиц.
CREATE DATABASE LINK     Создает связь с именем пользовате-
                         ля в удаленной БД.
CREATE INDEX             Создает индекс для таблицы.
CREATE PARTITION         Создает новый раздел в БД.
CREATE SPACE             Создает описание пространства,ко-
                         торое затем м.б.использова-
                         но для описания конфигурации  таб-
                         лицы.
CREATE SYNONYM           Создает  синоним  для имени табли-
                         цы  или экранной формы.
CREATE TABLE             Создает  таблицу  и  определяет ее
                         столбцы и другие свойства.
CREATE VIEW              Определяет экранную форму для  од-
                         ной или более таблиц и/или  других
                         экранных форм.
DELETE                   Удаляет строки из таблицы.
DROP                     Удаляет кластер,связь с БД и т.д.из БД.
GRANT                    Создает идентификаторы пользовате-
                         лей,назначает пароли,предоставля-
                         ет пользователям привилегии ORACLE
                         и привилегии при работе с таблица-
                         ми и экранными формами
INSERT                   Добавляет  новую  строку к таблице
                         или экранной форме.
LOCK TABLE               Блокирует таблицу,разрешая пользо-
                         вателю  разделять  доступ  к ней с
                         другими пользователями,в  то  же
                         время сохраняя ее целостность.
NOAUDIT                  Частично  или  полностью  отменяет
                         эффект  предыдущей  команды  AUDIT
                         или  опции   слежения  в   таблице
                         DEFAULT ; заставляет  ORACLE  пре-
                         кратить слежение за использованием
                         таблицы,экранной формы,синонима
                         или системного средства.
RENAME                   Изменяет имя таблицы,экранной фор-
                         мы или синонима.
REVOKE                   Отменяет  привилегии БД
                         или привилегии доступа пользовате-
                         лей к таблице.
SELECT                   Выполняет запрос ; выбирает строки
                         и  столбцы  из  одной  или   более
                         таблиц.
UPDATE                   Изменяет значения полей таблицы.
VALIDATE INDEX           Контролирует  корректность индекса
                         таблицы.

                        Команды SQL*Plus,краткое описание
Команда                    Описание

  @                        Выполняет командный файл.
  #                        Заканчивает     последовательность
                           строк комментариев,начатых с  по-
                           мощью команды DOCUMENT.
  $                        Выполняет команды базовой ОС
                           ,не покидая SQL*Plus.
                           Эквивалентно HOST.
  /                        Запускает команду в буфере SQL.
  ACCEPT                   Приглашает пользователя для  ввода
                           и назначает ответ в качестве  зна-
                           чения пользовательской переменной.
  APPEND                   Добавляет текст  к  концу  текущей
                           строки в текущем буфере.
  BREAK                    Указывает,что произойдет в случае
                           прерывания и какие действия выпол-
                           няются при прерывании.
  BTITLE                   Заставляет SQL отобразить  заголо-
                            вок внизу каждой страницы отчета.
   CHANGE                   Изменяет содержимое текущей строки
                            текущего буфера.
   CLEAR                    Очищает описания прерываний,текст
                            текущего буфера,описания столбцов
                            и т.д.
   COLUMN                   Определяет,как должны будут  фор-
                            матироваться в  отчете  столбцы  и
                            заголовки столбцов.
   COMMIT                   Вносит изменения  для БД,
                            произведенные   после    последней
                            COMMIT.
   COMPUTE                  Выполняет вычисления в группах вы-
                            бранных строк.
   CONNECT                  Прекращает регистрацию  с  текущим
                            именем  пользователя  и  выполняет
                            регистрацию вновь с  указанным(но-
                            вым) именем пользователя.
   COPY                     Копирует данные из одной  SQL*Net-
                            БД в другую.
   DEFINE                   Вводит  переменную пользователя  и
                            присваивает ей символьное значение.
   DEL                      Удаляет текущую строку из текущего
                            буфера.
   DESCRIBE                 Выводит  на экран краткое описание
                            таблицы.
   DISCONNECT               Вносит текущие  изменения  в БД
                            и  заканчивает сеанс вашей
                            работы с  ORACLE,но  не завершает
                            SQL*Plus.
   DOCUMENT                 Начинает блок документации в   ко-
                            мандном файле.
   EDIT                     Активизирует стандартный текстовый
                            редактор базовой операционной сис-
                            темы с  содержимым текущего буфера
                            или файла.
   EXIT                     Завершает работу с SQL*Plus и воз-
                            вращает   управление ОС.
   GET                      Загружает файл в текущий буфер.
   HELP                     Выводит на экран информацию о  ко-
                            мандах SQL и SQL*Plus.
   HOST                     Выполняет   команды ОС
                            ,не покидая  SQL.Эквива-
                            лентна '$'.
   INPUT                    Добавляет новые строки после теку-
                            щей строки в текущем буфере.
   LIST                     Распечатывает  строки текущего бу-
                            фера.
   NEWPAGE                  Продолжает буферизованный вывод  с
                            начала следующей  страницы.Коман-
                            да старой версии.
   PAUSE                    Выводит на экран сообщение ,затем
                            ожидает нажатия клавиши RETURN.
   QUIT                     Завершает работу с SQL*Plus и воз-
                            вращает управление ОС.Синоним  EXIT.
   REMARK                   Начинает  комментарий  в командном
                            файле.
   ROLLBACK                 Отменяет изменения в БД,
                            произведенные с момента последнего
                            сохранения.
   RUN                      Выводит на  экран  и запускает ко-
                            манду в буфере SQL.
   SAVE                     Сохраняет содержимое  текущего бу-
                            фера (одну или более команд) в БД или в файле ОС.
   SET                      Устанавливает  указанные  значения
                            для параметров SQL.
   SHOW                     Отображает установленные параметры
                            SQL  или характеристики  SQL*Plus,
                            например ,номер  текущей  версии
                            SQL*Plus.
   SPOOL                    Управляет спуллингом(копированием)
                            высвечивания  вывода  в  системный
                            файл и на системный принтер.
   SQLPLUS                  С и с т е м н а я  к о м а н д а .
                            Стартует SQL*Plus.
   START                    Выполняет  процедуру ,описанную в
                            командном файле.
   TIMING                   Производит   анализ  эффективности
                            ( по времени )  командных файлов и
                            команд SQL.
   TTITLE                    Побуждает SQL отображать заголовок
                            в начале каждой выводимой страницы.
   UNDEFINE                 Удаляет   определение   переменной
                            пользователя

                                @ ( знак"at")
@имя файла;
                Тип  : Команда SQL*Plus.
        Описание  : Выполняет  указанный  командный  файл .Командный
файл может содержать любую команду SQL и любую команду SQL*
Plus,которая может вводится в интерактивном режиме.
        @ является эквивалентом команды  START,но не допускает ис-
пользования аргументов командной строки.
        Пример:    Для   выполнения   командного   файла   с   именем
PRINTREPORT,введите:
                      SQL> @PRINTREPORT;

# ( знак"pound");
                        #
                                Тип  : Команда SQL*Plus.
        Описание  : Заканчивает последовательность строк комментария,
начатых с помощью команды DOCUMENT.
Пример:    DOCUMENT
            Written by J.Smith,8/15/85.
            Variable headings by R.Jones,11/5/85.
            Adapted to planning dept.needs by T.Grey,11/29/85.

    #  эта страница специально оставленна пустой

                                / (slach)
/
                Тип  : Команда SQL*Plus.
Описание  : Выполняет команду в буфере SQL.
        / является эквивалентом RUN,но не отображает буферную  ко-
манду.

                        /*...*/ (SQL-комментарий)
/*любой текст*/
        Тип  : Элемент синтаксиса SQL(но не команда SQL или SQL*Plus).
Описание  : SQL-комментарии используются для пояснения опера-
ции из набора команд SQL.Они могут отображаться  на экране
и редактироваться совместно с такими командами,как LIST  и
CHANGE,но в то же время они не влияют на выполнение команд.
        Комментарии могут появляться внутри любой SQL-команды("Вну-
три" - значит между словами или между словом  и заверщающим
символом ';').Их нельзя применять перед   SQL-командой или
внутри ее.Команды  SQL*Plus  должны комментироваться с ис-
пользованием SQL*Plus-команды REMARK.
        /* начинает комментарий.*/ заканчивает его.Комментарий мо-
жет содержать любое количество строк и может начинаться или
заканчиваться в середине строки.Знаки '/*' и '*/' не  обя-
зательно отделять от непосредственно комментария при помощи
пробелов или переводом строки.
          Пример:   Следующая команда SELECT содержит несколько коммен-
тариев.Обратите  внимание,как точка-с-запятой завершает
последний  комментарий для  удовлетворения правил рамещения
комментария  в н у т р и  команды SQL.

      SQL> SELECT     ENAME,SAL+COMM COMP,JOB,LOC
        2   /* Select all employees whose compensantion is
        3   greater than that of Jones.*/
        4   FROM       EMP,DEPT
        5   /* DEPT is used to get departament name.*/
        6   WHERE      EMP.DEPTNO = DEPT.DEPTNO
        7   AND        COMP >               /* Subquery: */
        8              (SELECT COMP        /* COMP > */
        9              FROM    EMP         /* Jones's */
       10               WHERE  ENAME = 'JONES') /*COMP.*/ ;

                                ALTER PARTITION
ALTER PARTITION раздел ADD FILE текст;
          Тип  :  Команда SQL.
  Описание  : Присоединяет файл,именованный с помощью значения
"текст" к указанному "разделу".Кроме того ,вносит в БД
текущие изменения.
        БД ORACLE  состоит из раздела  SYSTEM  и  других
разделов,созданных командой CREATE PARTITION.Данные,хра-
нимые в разделе,в  действительности  хранятся в одном или
более файлов,связанных с этим разделом.Таким образом,пе-
ред сохранением данных в разделе,в нем д.б.опреде-
лен хотя бы один файл.
        Перед присоединением файла к разделу,он д.б.создан
утилитой CCF.Для информации относительно утилиты  CCF см.
"Руководство Администраторов БД ORACLE".
        ALTER PARTITION  могут  использовать только  пользователи с
привилегиями DBA (администратор БД).
        ALTER  PARTITION  используется для  увеличения  объема БД
посредством добавления файлов к существующему разде-
лу,даже если этот раздел уже содержит данные.
          Пример:   Для добавления файла с именем  ORA005.DBS к разделу
SYSTEM создайте файл с помощью CCF и затем введите:

         SQL> ALTER PARTITION SYSTEM
           2        ADD FILE 'ORA005.DBS';

                                ALTER SPACE
ALTER SPACE[DEFINITION] sname
  [ DATAPAGES(
  [INITIAL{  5  |n}][INCREMENT{  25  |n}]
    [MAXEXTENTS{  9999  |n}][PCTFREE{  20  |n}]   )]
  [ INDEXPAGES(
    [INITIAL {  5  |n}][INCREMENT{  25  |n}]
    [MAXESTENTS{  9999  |n}]    )]
  [ PARTITION {  SYSTEM  |pname} ];

          Тип  : Команда SQL.
Описание: Изменяет описание пространства ,созданное с  по-
мощью CREATE SPACE .Также  вносит  текущие изменения в БД.
        ALTER SPACE изменяет описание каждого указанного  параметра
распределения пространства и оставляет неизменными все  ос-
тальные  параметры .Для  информации  о параметрах смотрите
CREATE SPACE.
          Пример:   чтобы добавить  DATAPAGES  и INDEXPAGES к описателю
пространства с именем FRUGAL,вам нужно ввести:

         SQL>    ALTER SPACE FRUGAL
           2      DATAPAGES       (INCREMENT 4)
           3      INDEXPAGES      (INCREMENT 4);

                                ALTER TABLE
ALTER TABLE таблица ADD( столбец спец[  NULL  |NOT NULL],...);
ALTER TABLE таблица MODIFY( столбец[спец][NULL|
    NOT NULL],,...);
                          Тип  : Команда SQL.
          Описание  : ADD добавляет новый  "столбец"  к  концу описания
"таблицы" (каждое поле в столбце инициируется     значением
NULL).Также вносит в БД текущие изменения.
        MODIFY изменяет описание существующего "столбца" и вносит в
БД текущие изменения.
        "спец"(спецификация)  задает (новый)тип и длину  "столбца".
Используется по аналогии с CREATE TABLE.MODIFY может изме-
нять тип "столбца" или уменьшать его длину,только если каж-
дое поле в "столбце" содержит значение NULL.
        NULL  указывает,что значения в этом  столбце   м.б.
пустыми.NOT  NULL  имеет  обратный  смысл .NOT  NULL -
столбец может добавляться только к такой  таблице,которая
не содержит  строк;   существующий   столбец   можно делать
NOT NULL,только если он содержит непустые значения.Для ADD
умолчанием является NULL; для MODIFY - "не изменять".
        Заметим,что,если столбцы добавляются к таблице используе-
мой в экранной форме,определенной запросом,который выби-
рает все столбцы ("SELECT * FROM..."),то в дальнейшем  эк-
ранная форма не будет работать корректно.Это можно испра-
вить с помощью удаления старой и  создания  новой  экранной
формы.
          Пример:  Для добавления цифрового столбца с именем THRIFTPLAN
с максимум 7 цифрами и двумя 10-ми полями к табл.
с именем EMP ,а также односимвольного   столбца  с  именем
LOADCODE,введите:

         SQL> ALTER TABLE EMP ADD
           2     (THRIFTPLAN NUMBER(7,2),LOADCODE CHAR(1));

Чтобы увеличить длину THRIFTPLAN до 9 символов,введите:

         SQL> ALTER TABLE EMP MODIFY
           2        (THRIFTPLAN NUMBER(9,2));

Изменение таблицы при модификации длины столбца,заданного
как NOT NULL,будет отменять атрибут  NOT NULL ,если он не
не указан специально.

                                    ACCEPT
ACC[EPT]перем[NUM[BER]|  CHAR  ][PROMPT текст
  NOPR[OMPT  ]][HIDE];
                          Тип  : Команда SQL*Plus.
  Описание  : Читает строку с клавиатуры и сохраняет ее в пере-
пользователя "перем".Если переменная "перем"  не  сущест-
вует,она создается.
        NUMBER  и  CHAR  определяют  тип  "перем";  если  введенное
значение подходит для этого типа,ACCEPT  дает сообщение об
ошибке.
        Символы PROMPT "текст" заставляют ACCEPT отобразить "текст"
до чтения ответа.NOPROMPT заставляет ACCEPT перейти на но-
вую строку и ожидать ввода без отображения подсказки.
        HIDE подавляет отображение на экране вводимого ответа.
  Примеры:   Для  отображения подсказки  "Salary:"  и помещения
ответа в переменную с именем SALARY,введите:

         SQL> ACCEPT salary NUMBER PROMPT 'Salary:  ';

Чтобы отобразить на экране приглашение "Password:" и помес-
тить ответ в символьную переменную PSWD,подавляя отображе-
ние ответа,введите:

         SQL> ACCEPT pswd CHAR PROMPT 'Password:    ' HIDE;

                                    APPEND
A[PPEND] текст
                  Тип  : Команда SQL*Plus.
  Описание  : Добавляет "текст" к концу текущей строки в  теку-
щем буфере.
        Чтобы отделить "текст" от предшествующих символов пробелом,
необходимо разделить APPEND и "текст" д в у м я  пробелами,
или заключить  "текст"  в одиночные кавычки и  начать его с пробела.
        Для добавления текста,заканчивающегося символом ';',необ-
ходимо закончить ввод команды двумя символами ';',так как
один из них интерпретируется в качестве ограничителя коман-
ды.
  Пример:   Для добавления фразы FORMAT 9999 к 5 строке те-
кущего  буфера вы должны сначала сделать эту строку текущей
строкой.Один из способов сделать это - распечатать строку:

         SQL> LIST 5
           5* COLUMN SAL ALIAS "SALARY"

Теперь введите APPEND:

         SQL> APPEND  FORMAT 9999
         SQL> LIST 5
           5* COLUMN SAL ALIAS "SALARY" FORMAT 9999

Обратите  внимание  на  двойной  пробел  между  'APPEND'  и
'FORMAT'.Первый пробел отделяет APPEND от добавляемых сим-
волов; следующий пробел становится  первым добавляемым сим-
волом.
        Чтобы добавить к строке символ ';',вам нужно ввести:

         SQL>APPEND ;;

Первый символ ';' добавляется к строке; следующий  заканчи-
вает команду APPEND.

                                     AUDIT
AUDIT {опция,опция,...|ALL}
ON {табл|DEFAULT}
[BY {ACCESS|  SESSION  }]
  [WHENEVER[NOT]SUCCESSFUL];

AUDIT {s_опция,s_опция,...|ALL}
  [WHENEVER[NOT]SUCCESSFUL ];
                                Тип:   Команда SQL.
Описание:   Первая форма заставляет ORACLE следить за исполь-
зованием таблиц,экранных форм или синонимов.Чтобы следить
за использованием объекта,вы должны владеть этим  объектом
или иметь привилегии DBA.
        "опция" указывает на то,что обращения команд к таблице до-
лжны регистрироваться.Это м.б.команды ALTER,AUDIT,
COMMENT,DELETE ,GRANT ,INDEX ,INSERT ,LOCK ,RENAME,
SELECT или UPDATE.GRANT отслеживает и команду GRANT,и ко-
манду REVOKE.ALL производит слежение за всеми этими коман-
дами.
        ON "табл"  указывает объект  слежения.ON DEFAULT  задает
изменения  для  DEFAULT-таблицы,которая контролирует опции
слежения ,указанные для вновь созданной таблицы.Чтобы ис-
пользовать ON DEFAULT,вы должны иметь привилегии DBA.
        Следующая форма устанавливает  слежение  за  использованием
системных средств.Для применения этой формы  AUDIT  необ-
ходимо обладать привилегиями DBA."s_опция" задает средства
за которыми идет слежение.Это м.б.CONNECT (регист-
рация входов и выходов из ORACLE),DBA (регистрация команд,
запрашивающих привилегии DBA),NOT EXISTS (регистрация всех
команд,вырабатывающих ошибку "does not exist") или RESOURCE
( регистрация   CREATE/DROP TABLE/CLUSTER/VIEW/INDEX/SPACE/
SYNONYM ).ALL производит слежение за всеми  перечисленными
средствами.
        BY ACCESS  или  BY SESSION заставляет  ORACLE  записывать в
таблицу слежения строку для каждой команды или сеанса поль-
зователя,использующих обращение к отслеживаемой таблице.
        WHENEVER[NOT]SUCCESSFUL побуждает  ORACLE записывать строку
в таблицу слежения только тогда,когда обращение к отслежи-
ваемой таблице или системным средствам оказалось(не) успеш-
ным.Если эта фраза опущена,строка записывается независимо
от того,является ли обращение успешным.
        Использование NOAUDIT имеет эффект обратный эффекту AUDIT.
Обе формы вносят текущие изменения в БД,заданную
по умолчанию.
        Когда доступ к таблицам  осуществляется через связь с БД
(см.обсуждение CREATE DATABASE LINK ) ,слежение в
в удаленной  системе выполняется согласно установленным для
удаленной системы опциям слежения.
          Примеры:   Для слежения за всеми обращениями INSERT или UPDATE
к таблице с именем EMP,введите:

         SQL> AUDIT INSERT,UPDATE ON EMP BY ACCESS;

Для слежения за всеми сеансами,в которых происходили  неу-
дачные обращения к EMP,ведите:

         SQL> AUDIT ALL ON EMP WHENEVER NOT SUCCESSFUL;

Для регистрации всех успешных запросов на ресурсы,введите:

         SQL> AUDIT RESOURCE WHENEVER SUCCESSFUL;

                                     BREAK
BRE[AK]  ON{выр|ROW|PAG[E]|REPORT}...
   [SKI[P]n|[SKIP]PAGE]
   [  NODUP[LICATES  ]|DUP[LICATES]];

BRE[AK];
                          Тип  : Команда SQL*Plus.
  Описание  : break(прерывание) - это  событие ,которое  имеет
место пока SQL обрабатывает SELECT-команду,такое как конец
страницы или  изменение  значения  выражения.Прерывание
заставляет SQL выполнить некоторые действия,например,пол-
ную распечатку.
        Команда  BREAK указывает,какие события будут вызывать пре-
рывание и какие действия выполняет SQL при прерывании.
        В каждый  данный  момент  времени  м.б.действительна
только одна команда  BREAK.Когда вы вводите новую команду
BREAK,она полностью заменяет предшествующую команду.
        Команда BREAK может указывать несколько событий,вызывающих
прерывания.В этом случае события проверяются в  определен-
ном порядке,т.е.SQL*Plus проверяет наступление какого-ли-
бо события только тогда,когда не произошло  предшествующее.
Такой порядок событий называется "иерархией прерываний".

                              Описание Прерываний
        ON "выр." вызывает прерывание при изменении значения  выра-
жения  "выр"."выр"  м.б.выражением,включающим в
себя один или более столбцов таблицы или меткой,назначен-
ной столбцу отчета в командах SELECT или COLUMN.Если  ON
"выр" задается более одного раза,иерархия прерываний опре-
деляется порядком следования указанных "выр"ажений.
        При   использовании   ON "выр"  необходимо  прменять  фразу
ORDER BY для того,чтобы получить строки в порядке иерархии
прерываний.Так,"выр."ажения,используемые в BREAK...ON бу-
дут появляться в SELECT...ORDER BY  в том же самом порядке.
Это необходимо для отмены прерываний в тех  точках  отчета,
где это не имеет смысла.
        ON ROW  выполняет прерывание,каждый  раз при выборе строки
при помощи SELECT.Это прерывание ставится в конец иерархии
прерываний,независимо  от  того,где фраза  ON ROW   была
задана в команде BREAK.
        ON PAGE выполняет  прерывания  в конце каждой страницы.Так
как данные  прерывания  происходят  независимо  от  порядка
строк,то нельзя сказать,что  ON PAGE занимает  какое-либо
определенное место в иерархии прерываний.
        ON REPORT производит прерывание в конце отчета или запроса.
Подобные прерывания в иерархии прерываний считаются началь-
ными.

                        Описание Действий по Прерыванию
        SKIP пропускает "n" строк до печати конкретной строки,свя-
занной с прерыванием.PAGE или SKIP PAGE переводит страни-
цу перед печатью строки,связанной с прерыванием.
        Каждая фраза  "action" применяется к прерываниям,описанным
с помощью предыдущей фразы  ON.Так,например,чтобы описать
два выполняемых действия для 2 различных видов  прерыва-
ний,вы должны ввести  BREAK ON event_1 action_1 ON event_2
action_2 (см.ниже последний пример).
        NODUPLICATES  заставляет  SELECT  печатать пробелы в отчете
для тех значений столбца прерывания,которые не изменяются.
DUPLICATES  заставляет  SELECT  печатать значения  столбцов
прерывания в каждой выбранной строке.

                      Отображение Текущих установок Прерывания
        BREAK без указания допустимых по синтаксису фраз выводит на
экран текущие установки  прерывания.
          Примеры:   Для  выполнения  отчета,который  начинает  новую
страницу отчета каждый раз,когда изменяется значение стол-
бца JOB,необходимо ввести:

         SQL> BREAK ON   JOB SKIP PAGE
         SQL> SELECT     JOB,ENAME,SAL
           2   FROM       EMP
           3   ORDER BY   JOB,SAL;

Заметим,что отчет упорядочивается с помощью JOB,затем  с
помощью SAL.Упорядочивание  с  помощью  SAL внутри  каждой
категории  JOB несущественно,поэтому  SAL не применяется в
иерархии прерываний.
        Упорядочение,которое начинается с JOB необходимо  для воз-
никновения прерываний по управлению страницами в определен-
ных точках,а именно так,чтобы сгруппировать печать строк,
относящихся к одному и тому же JOB на одной странице.

                                     BTITLE
BTI[TLE][печат_спец|OFF|ON];
BTI[TLE] текст ;
                               Тип:   команда SQL*Plus.
Описание:   заставляет SQL*Plus показывать заголовок в  конце
каждой страницы отчета.

                                Новая форма
        SQL*Plus интерпретирует BTITLE в новую форму,если   первым
словом после имени  команды  разрешена  фраза ( LEFT,SKIP,
COL,и т.д.).
        "печат_спец" определяет  заголовок.Содержание  этoй опции
описано ниже.
        OFF  и  ON  соответственно выключение и включение заголовка
(прекращает и  возобнавляет его изображение)  не  влияет на
его содержание.
        BTITLE  без  опций  высвечивает  текущее  состояние BTITLE.

                             Фразы в  "печат_спец":
        COL n - переход  на  колонку  n  в текущей строке (если n-я
колонка пройдена,происходит движение в обратную сторону).
S[KIP]  n  -  переход  к  началу  новой строки n-раз;если n
опущено,то 1 раз; если n=0,то происходит возврат к началу
текущей строки.
TAB  n  -  переход вперед на n колонок(назад,если n отрица-
тельно).
"колонка,"  в  этом контексте означает позицию печати,но не
столбец таблицы.
LE[FT],CE[NTER]  и  R[IGHT] - выравнивание данных (соответ-
ственно: влево,по центру и вправо) в текущей строке.Сле-
дующие элементы данных выравниваются как группа до заверше-
ния команды  PRINT или до одной из следующих команд:  LEFT,
CFNTEL,RIGHT,COLUMN.Команды  CENTER и RIGHT   используют
значение команды SET LINESIZE для вычисления позиции следу-
ющего элемента данных.
FORMAT симв - описывает модель формата,которая  определяет
формат  последующих  элементов  данных  до  следующей фразы
FORMAT или до конца команды.Эта модель формата д.б.
символьной константой.Модели форматов описаны в   главе 1.
Смотрите описание команды  COLUMN  для получения информации
о печати колонок и значений даты в нижнем заголовке.
        Только  одна модель формата может выполняться одновременно.
Если она несовместима с типом  данных  требуемого  элемента
данных,то она недействительна для этого элемента.
        Если никакой модели формата неопределено,числовые значения
печатаются по формату  определенному в  SET NUMFORMAT,или,
если SET NUM FORMAT не использовалось,значение формата  бе-
рется по умолчанию.Значения даты печатаются,в  соответствии
с форматом по умолчанию.
        Любое количество констант и переменных м.б.использо-
вано в "печ_спец".Эти  константы и переменные высвечивают-
ся в порядке их определения.Каждая  из  них  размещается и
форматируется  так,как  было  описано во фразах выражения
"печ_спец".

                                 Старая форма
        SQL*Plus интерпретирует BTITLE в старую форму,если в первом
слове после имени команды отсутствует фраза.
        Эта форма обеспечивает совместимость с UFI ( предшественник
SQL*Plus) и для последующей работы использоваться не будет.
Она определяет,что нижний заголовок будет  пустой  строкой
со следующим за ней отцентрированным текстом.Центрирование
зависит от размера строки,так как определяется посредством
SET LINSIZE .Символ-разделитель заставляет SQL*Plus начать
новую строку; 2 символа-разделителя   строки подряд вста-
вляют пустую строку.Первоначальным символом - разделителем
строки  является  "ц|",который м.б.изменен командой
SET HEADSEP.
          Примеры :   Для установки нижней границы названия,состоящего
из слов "CORPORATE PLANNING DEPARTMENT" слева и даты справа,
ввести:
         SQL> BTITLE LEFT 'CORPORATE PLANNING DEPARTMENT '
           2  RIGHT  '11 Mar 1986';

Чтобы  установить  нижний  заголовок,состоящий  из   слова
'CONFIDENTIAL' в колонку 50,за которым следует  6 пробелов
и дата,введите:

         SQL> BTITLE COL 50 'CONFIDENTIAL' TAB 6 '11 Mar 86';

При использовании старой формы BTITLE установить нижний за-
головок,состоящий из слов  'CORPORATE PLANNING DEPARTMENT'
на одной строке и  'CONFIDENTIAL'  на следующей,необходимо
ввести:
            SQL> BTITLE CORPORATE PLANNING DEPARTMENT|CONFIDENTIAL;

                                    CHANGE
C[HANGE]/старое/новое/
                          Тип:  команда SQL*Plus.
  Описание:   меняет старое выражение на новое в текущей строке
текущего буфера (текущая строка помечена значком '*' на вы-
ходе LIST).
        CHANGE игнорирует понятие больших и маленьких букв во время
поиска "старого" выражения; например,
CHANGE/aq/aw/ найдет первое значение в ряду 'aq','AQ','aQ',
или 'Aq' и изменит его на 'aw'.
Если "старое" выражение начинается с '...',то оно означает
все,что ему предшествует,включая себя.Если "старое" вы-
ражение заканчивается на'...',то заменяется все после пер-
вого появления "старого" выражения в строке.Если   старое
выражение содержит '...' внутри,то заменяется все из пред-
шествующей  части  старого  выражения  в плоть до последую-
щей.
        Пробел  между  командой  и  первой '/'  м.б.опущен.
  Примеры:   предположим,что  текущей  строкой текущего буфера
является строка:
                   * WHERE JOB IS IN ('CLERK','SEKRETARY','RECEPTIONIST')
Команда:
            C /RECEPTIONIST/GUARD/

преобразует строку в следующую:
                               * WHERE JOB IS IN ('CLERK','SECRETARY','GUARD')
Команда:
           C /(...)/('COOK','BUTLER')/
изменяет исходную строку на:
                                   * WHERE IS IN ('COOK','BUTLER')

                                      CLEAR
CL[EAR]опция;
                          Тип:   команда SQL*Plus.
          Описание:   Удаляет "опцию",указанную после команды.
BRE[AKS] - удаляет прерывания,установленные командой BREAK.
BUFF[ER] - удаляет текст из текущего буфера.
COL[UMNS] - по этой команде происходит сброс опций,установ-
ленных командой COLUMN.
COMP[UTES] - удаляет опции установленные командой  COMPUTE.
SQL - очищает буфер SQL.
TIMI[NG] - удаляются все временные области созданные коман-
дой TIMING.
          Примеры:   Удалить прерывания,ввести:
                                                 SQL> CLEAR BREAKS;
Удалить определения колонок,ввести:
                                         SQL> CLEAR COLUMNS;

                                 COLUMN
COL[UMN] {колонка|:выражение}
   [ALI[AS]псевдоним]
   [CLE[AR]|DEF[AULT]]
   [COLOR цвет|цвет__переменная]
   [FOR[MAT] формат]
   [HEA[DING] текст]
   [JUS[TIFY]{L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}]]
   [LIKE{выражение|метка}]
   [LINEAPP{LINE|MARK|BOTH}]
   [NEWL[INE]]
   [NUL[L] символ]
   [NOPRI[NT]|  PRI[NT]  ]
   [PATTERN{шаблон__номер|шаблон__переменная}]
   [  ON  |OFF]
   [  WRA[PPED]  |WOR[D_WRAPPED]|TRU[NCATED]]...;

COL[UMN];

                  Тип:   команда SQL*Plus.
  Описание:   Определяет,как в  отчете  будут  отформатированы
колонка и заголовок колонки.
        Для различных колонок эта команда м.б.введена  любое
число раз.Также,любое число команд COLUMN м.б.вве-
ден для одной и той же колонки,и их фразы будут применены
совместно.Если эти несколько команд COLUMN применяют  одну
и ту же фразу для той же колонки,управление осуществляется
с помощью последней.
        COLUMN без выражений показывает определения текущей колонки.
COLUMN с параметрами 'колонка' или 'выражение' и без других
фраз,показывает текущее определение столбца.
        'колонка' или 'выражение' определяют элемент данных,на ко-
торые ссылается эта команда.Она должна ссылаться на'колон-
ку' или  'выражение',используемые  в  команде SELECT.Если
она ссылается на  'выражение',то  оно должно быть введено
точно также,как в команде  SELECT.Если 'выражение' в ко-
манде  SELECT,например,'a+b',то невозможно  использовать
'b+a' или 'a+b' в команде COLUMN.
        Если вы выбираете столбцы с одинаковым именем из  различных
таблиц,команда  COLUMN  для  колонки с  таким именем будет
применяться к обеим таблицам.Вы можете избежать этого,на-
значив столбцам различные псевдонимы в SELEСT( но не с фра-
зой ALIAS команды COLUMN) и,вводя команду COLUMN для  каж-
дого псевдонима столбца.
        ALIAS назначает колонке определенный псевдоним,который м.б.использо-
ван при ссылке на колонку в командах BREAK и COLUMN .
        CLEAR  - полностью удаляет колонки.
        DEFAULT - устанавливает определение колонки к значениям  по
умолчанию.
        FORMAT  -  определяет формат  вывода колонки.Формат должен
быть описан как символьная константа.Спецификации команды
FORMAT описаны в главе 1.
        Ширина символьных колонок определяется по умолчанию:она бу-
дет такой же,как у столбцов  БД;  ширина  колонок
типа LONG,определяется по умолчанию,такой же,как  задано
в параметре LONG команды SET.Изменение ширины на  n знаков
выполняется по команде 'FORMAT An'.
        Ширина   числовой   колонки   по   умолчанию равна значению
NUMWIDTH(см.описание SET  ниже).Ширина изменяется  фразой
FORMAT.
        HEADING  определяет заголовок колонки.По  умолчанию   это
'колонка' или 'выражение'.Если  'текст'  содержит пробелы
или знаки пунктуации,он д.б.заключен в апострофы.
Каждый встречающийся символ HEADSEP(по умолчанию '|'),вхо-
дящий в 'текст',заставляет SQL*Plus начинать новую строку.
        JUSTIFY - выравнивает заголовок.По умолчанию,опция  RIGHT
для числовых колонок,LEFT-для других типов колонок.
        LIKE - копирует спецификации другой колонки  или  выражения
(определенных ранее другой командой COLUMN).
        NEWLINE - вывод значений колонок с новой строки.
        NEW_VALUE - описывает переменную,для значения колонки.Эта
переменная может использоваться в командах TTITLE  и BTITLE
для отчетности типа master / detail.Значения  DATE  и CHAR
выравниваются влево.Значения NUMBER выравниваются  вправо в
пределах определенных NUMWIDTH.Смотрите OLD_VALUE.
        NOPRINT  и  PRINT  выключение  и  включение печати колонки.
        NULL  устанавливает  текст  выводимый для NULL значений .
        OFF и ON включает и выключает определение выводного формата
для колонки,не изменяя ее содержания.
        OLD_VALUE задает переменную ,в которую помещается значение
колонки,для печати в заголовках после получения следующего
значения.Обычно,используется для печати значения в BTITLE
до перехода на новую страницу.Смотрите NEW_VALUE.
        WRAPPED,WORD_WRAPPED  и TRUNC определяют,как SQL*Plus будет
обрабатывать заголовок или символьное  значение не помещаю-
щееся в оставшуюся часть в колонке.WRAP заставляет SQL*Plus
перенести значения на следующую строку.WORD_WRAP   подобно
WRAP ,но  переносит все слово ,а не разбивает его .TRUNC
округляет значение.
        COLOR,LINEAPP  и  PATTERN  описаны в Руководстве пользова-
теля SQL*Graph.
          Примеры:   Чтобы сделать колонку ENAME шириной  20 символов и
вывести 'EMPLOYEE NAME' в двух начальных строках,введите:

      SQL> COLUMN ENAME FORMAT A20 HEADING 'EMPLOYEE|NAME';

Установить формат для колонки SAL  до миллионов  долларов ,
округлить до центов и использовать  запятые  для  отделения
тысяч можно с помощью:

         SQL> COLUMN SAL FORMAT $9,999,999.99;

Чтобы назначить псевдоним NET колонке ,содержащей длинное
выражение и вывести результат в формате доллара введите:

         SQL>  COLUMN SAL+COMM+BONUS-EXPENSES-INS-TAX
           2   ALIAS NET;
         SQL> COLUMN NET FORMAT  $9,999,999.99;

Заметьте,что  описание колонки  задается  двумя командами.
Первая определяет псевдоним NET,а вторая использует NET для
описания формата.

Имейте в виду,что в  первой  команде выражение должно быть
введено точно также,как в команде SELECT.В противном случае
SQL*Plus не может связать команду COLUMN с  соответствующей
колонкой.
        Чтобы заставить SQL*Plus  делать перенос длинного  значения
в колонке,названной REMARKS,введите:

         SQL> COLUMN REMARKS FORMAT A20 WRAP;

А ниже показан результат этой команды:

   CUSTOMER    DATE       QUANTITY     REMARKS
   --------    ---------  --------     --------------------
   123         25-AUG-86       144     THIS ORDER MUST BE S
                                       HIPPED BY AIR FREIGH
                                       T TO ORD.

Если вы определили WORD_WRAP вместо WRAP,то  REMARKS будет
выглядеть следующим образом:

   CUSTOMER   DATE        QUANTITY       REMARKS
   ---------  ---------   --------       ------------------
   123        25-AUG-86        144       THIS ORDER MUST BE
                                         SHIPPED BY AIR
                                         FREIGHT TO ORD

Если вы задаете TRUNCATE,REMARKS будет выглядеть  так :

   CUSTOMER   DATE         QUANTITY    REMARKS
   ---------  ----------   --------    --------------------
    123       25-AUG-86         144    THIS ORDER MUST BE S

Для того,чтобы напечатать текущую дату  и  название  каждой
работы в TTITLE,введите следующее:

         SQL> COLUMN JOB NEW_VAL JOBVAR;
         SQL> COLUMN TODAY NOPRINT NEW_VAL DATEVAR;
         SQL> BREAK ON JOB SKIP PAGE;
         SQL> TTITLE  CENTER  'JOB REPORT' RIGHT  DATEVAR -
              SKIP 2   LEFT 'JOB:      ' JOBVAR SKIP 3
         SQL> SELECT TO_CHAR(SYSDATE,'MM/DD/YY') TODAY,
            ENAME,JOB,MGR,HIREDATE,SAL,DEPTNO
            FROM EMP
            WHERE JOB IN ('CLERK','SALESMAN')
            ORDER BY JOB,ENAME;

Ваш отчет будет выглядеть так:

                   JOB REPORT                      03/10/87

   JOB:    CLERK

   ENAME         MGR  HIREDATE      SAL      DEPTNO
   ---------- -------------------- ------  ---------
   ADAMS         7788 14-JAN-87     1100       20
   JAMES         7698 03-DEC-81      950       30
   MILLER        7782 23-JAN-82     1300       10
   SMITH         7902 17-DEC-86      800       20

                    JOB REPORT
JOB :  SALESMAN
   ENAME            MGR  HIREDATE       SAL      DEPTNO
   ----------- --------- ---------- --------- -------------
   ALLEN            7698 20-FEB-81     1600         30
   MARTIN           7698 28-SEP-81     1250         30
   TURNER           7698 08-SEP-81     1500         30
   WARD             7698 22-FEB-81     1250         30

   8 records selected.

                                  COMMENT
COMMENT ON {TABLE таблица|COLUMN таблица.колонка} IS симв ;

  Тип:   Команда SQL.
          Описание :   Вставляет комментарии о таблице  или  cтолбце  в
словарь данных.Чтобы посмотреть комментарий,выберите стол-
бец  REMARKS  из  одного  из  следующих  словарей  данных :
CATALOG,SYSCATALOG,COL,COLUMNS или SYSCOLUMNS.Также,эта ко-
манда записывает текущие изменения в БД.
        Вы можете быстро удалить комментарий из БД устано-
вив его значение на NULL.
          Пример:   Чтобы вставить пояснение к колонке,названной NOTES
в таблице с названием SHIPPING,можно ввести:

         SQL> COMMENT ON COLUMN SHIPPING.NOTES
           2  IS 'SPECIAL PACKING OR SHIPPING INSTRUCTIONS';

Чтобы удалить комментарий из БД,введите:

         SQL> COMMENT ON COLUMN SHIPPING.NOTES IS;

                                    COMMIT
COMMIT;
          Тип:   Команда SQL*Plus.
  Описание:    Вносит в БД изменения,сделанные в таб-
лицах после предыдущего COMMIT.Также отменяет блокировку в
таблицах БД,заданную  такими   командами,как
SELECT...FOR UPDATE и LOCK TABLE.
        Пока изменения не записаны,они м.б.отменены  вводом
команды ROLLBACK.
        Следующие команды также записывают изменения в БД:
ALTER ,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP ,
EXIT,GRANT,NOAUDIT,QUIT,REVOKE и RENAME.SET AUTOCOMMIT
ON заставляет SQL автоматически записывать изменения  после
каждой команды,производящей эти изменения.
        Набор команд между двумя операциями 'COMMIT' и/или команда-
ми ROLLBACK называется 'транзакцией'.

                                     COMPUTE
COMP[UTE]
[AVG|COU[NT]|MAX[IMUM]|MIN[IMUM]|NUM[BER]|STD|SUM|
  VAR[IANCE]]...
OF{выбр-выр-в-кавыч|столбец|метка},...
ON[выбр-выр-в-кавыч|имя-столбца|метка|REPORT|ROW];
                          Тип:   Команда SQL*Plus.
  Описание   : Осуществляет  вычисления  над группами выбранных
строк.Значение 'группа' контролируется фразой ON ( описана
ниже).
        Функции  и   значения   фраз  команды  COMPUTE  описаны   в
таблице 2-1.
        Если вы описываете более,чем одну фразу,не разделяйте  их
запятыми.
        OF - определяет столбец или выражение,чье значение необхо-
димо вычислить.Столбец,используемый OF,д.б.опи-
сан в команде SELECT,иначе команда COMPUTE м.б.про-
игнорирована.Если вам необходимо применить команду COMPUTE
для столбца,который не должен появляться в выводе SELECTа,
опишите столбец фразой NOPRINT в команде SELECT.
        ON - определяет элемент данных или элемент таблицы,исполь-
зуемый в прерывании.COMPUTE  печатает вычисленные значения
и возобновляет  вычисления,когда   изменяется   значение
'ON выраж' или когда встретится новый объект описанного ти-
па (ROW,и т.д.)
        Если вы вводите несколько команд COMPUTE для одного столбца
только последняя будет применена.
        COMPUTE без параметров показывает,какие спецификации опре-
делены для команды COMPUTE.
        Для того,чтобы сослаться на  выражение  SELECT  или  вызов
функции во фразах OF или ON,заключите эту ссылку в кавычки.
Названия колонок и псевдонимов помещать в кавычки не обяза-
тельно.

Таблица 2-1.Выражения COMPUTE
            ФРАЗЫ    ОПЕРАЦИИ           ТИПЫ СТОЛБЦОВ

            AVG      среднее зна-       NUMBER
                     чение
            COUNT    подсчет пустых     все типы
                     значений
            MAXIMUM  максимальное       NUMBER,CHAR
                     значение
            MINIMUM  минимальное        NUMBER,CHAR
                     значение
            NUMBER   подсчет строк      все типы
            STD      среднеквадратичное NUMBER
                     отклонение
            SUM      сумма непустых     NUMBER
                     значений
            VARIANCE дисперсия          NUMBER

  Примеры:   Чтобы вычислить суммы окладов по каждой профессии,введите:

         SQL> BREAK ON JOB;
         SQL> COMPUTE SUM OF SAL ON JOB;
         SQL> SELECT    ENAME ,JOB,SAL
           2    FROM      EMP
           3    ORDER BY  JOB,SAL;

Чтобы вычислить средний  и  максимальный оклады  в отделе и
поместить результат в переменные с именами SALAVG и SALMAX,
введите:
         SQL> BREAK ON DNAME;
         SQL> COMPUTE AVG MAX OF SAL ON DNAME INTO SALAVG,-
              SALMAX;
         SQL> SELECT DNAME,EMP.
           2     FROM DEPT,EMP
           3     WHERE DEPT.DEPTNO=EMP.DEPTNO
           4     ORDER BY DNAME;

                                   CONNECT
CONN[ECT][имя_пользователя[/пароль]][@база данных];

                  Тип:  Команда SQL*Plus.
  Описание:    Записывает произведенные изменения в БД
и заканчивает сеанс вашей работы c ORACLE (если вы  находи-
лись в нем) и вновь выполняет регистрацию с указанным  име-
нем  пользователя.Если вы опустите ' имя_пользователя ' ,
SQL*Plus выдаст запрос на ввод этого имени.Если вы опусти-
ли 'имя_пользователя' и 'пароль' ,SQL*Plus выдаст подсказку
на ввод их обоих.Пароль,который  вы вводите во время подс-
казки,не высвечивается.
        Если вы ввели '@база данных',SQL*Plus использует ее  вместо
вашей системной БД ORACLE.Эта БД может
быть на вашей  ЭВМ  или  на  другом  компьютере ,связанном
с вашим через SQL*NET.
        Для дополнительной информации об SQL*Net смотрите "Руковод-
ство пользователя SQL*Net".
          Примеры:   Чтобы  зарегистрироваться   под   именем  SCOTT  с
паролем TIGER,введите:
                         SQL> CONNECT SCOTT/TIGER;

Чтобы зарегистрироватся под именем SCOTT с последующим зап-
росом пароля,введите:
                         SQL> CONNECT SCOTT;

                                COPY
COPY [FROM имя_пользователя/пароль @база_данных]
     [TO имя_пользователя/пароль@база_данных]
  {APPEND|CREATE|INSERT|REPLACE}таблица[(cтолбец,
  столбец,столбец,...)] USING запрос;

                  Тип:   Команда SQL*Plus.
  Описание:    Копирует  данные  из  таблицы  одной БД
SQL*Net в таблицу другой.
        FROM - описывает имя пользователя,пароль и БД,где
размещена таблица источник.Аналогично,TO описывает,где рас-
положена  таблица-адресат.Если какая-либо фраза опущена,то
по  умолчанию  берется   база   данных,с  которой  связан
SQL*Plus(т.е.база данных,к которой адресуются команды SQL
и SQL*Plus).Так как БД источника и адресата не м.б.одинаковы,параметры FROM и
TO не м.б.опущены.
        APPEND,CREATE,INSERT или REPLACE определяют,как будет ис-
пользована существующая копия указанной таблицы .
*    АPPEND - указывает,что данные,будут добавлены в таб-
     лицу,если таблица не существует,она  создается.
*    CREATE - указывает,что  таблица  д.б.создана;
     если она уже существует,будет получена ошибка.
*    INSERT - указывает,что данные  будут добавлены в таб-
     лицу ; если  таблица  не существует ,будет  получена
     ошибка.
*    REPLAСE - указывает ,что  данные  заменят предыдущие
     данные в таблице; если  таблица отсутствует,она будет
     создана.
        'таблица' - описывает имя таблицы адресата.
        'столбец,столбец,столбец,...' - определяет имена столбцов
таблицы адресата.Имя должно находиться в апострофах ,если
оно содержит строчные буквы или пробелы.
        Если столбцы указаны ,их число  должно равняться количеству
столбцов выбраных 'запросом'.Если столбцы не заданы ,копи-
руемые столбцы будут иметь те же имена,что  и  в  таблице-
источнике.
        'запрос' - идентифицирует таблицу-источник и определяет,ка-
кие строки и столбцы будут скопированы из нее.
        Системная переменная LONG ограничивает длину long-поля,ко-
торое м.б.скопировано.Если  какой  либо столбец со-
держит поля длиннее,чем значение LONG,при копировании
они будут усечены.
        Внесение изменений выполняется в  конце  каждого  успешного
копирования.Если значение системной переменной  COPYCOMMIT
установлено n,большее чем 0,изменения вносятся каждый раз
после копирования n пакетов записей.(Размер пакета опреде-
ляется системной переменной ARRAYSIZE).
        Для дополнительной информации об SQL*Net,смотрите Руковод-
ство  пользователя SQL*Net.
          Примеры :   Эта команда копирует всю таблицу EMP БД
HQ в таблицу WESTEMP БД WEST.Если WESTEMP уже су-
ществует,ее содержимое заменяется.Столбцы  в WESTEMP имеют
имена  столбцов одинаковые с таблицей источником EMP.

         SQL> COPY FROM SCOTT/TIGER@HQ TO JOHN/CHROME @WEST-
         >    REPLACE WESTEMP  -
         >    USING SELECT * FROM EMP;

Эта команда копирует записи выбранные из таблицы  EMP БД
HQ в БД связанную  с  SQL*Plus.Таблица
SALESMEN будет создана при копировании .Копируются  только
столбцы EMPNO и NAME в адресате они названы EMPNO и SALESMAN.

         SQL> COPY FROM SCOTT/TIGER@HQ -
         >      CREATE SALESMEN (EMPNO,SALESMAN) -
         >      USING SELECT EMPNO,NAME FROM EMP -
         >                   WHERE JOB='SALESMAN';

                                CREATE CLUSTER
CREATE CLUSTER кластер
   (столбец спецификация,столбец спецификация,...)
     [SIZE n]
   [SPACE имя]
   [  COMPRESS  |NOCOMPRESS];
                                  Тип:   Команда SQL.
  Описание:   Создает кластер,который может содержать 2 или
более таблиц.Таблицы добавляются в кластер с помощью  фразы
CLUSTER команды CREATE TABLE.
        Также сохраняет произведенные в БД изменения.Один
или более столбцов кластера должен  находится в каждой таб-
лице кластера и должен  иметь  один и  тот же тип и размер.
(Столбцам кластера не обязательно  иметь одинаковые имена).
        Для  всех  таблиц  кластера строки с одинаковыми значениями
столбца кластера хранятся на диске в  одинаковых логических
блоках.Это  часто ускоряет операции при соединении  таблиц
посредством столбцов кластера.
        Также,каждое отдельное значение  каждого столбца  кластера
хранится только в одном  экземпляре ,не зависимо от того ,
сколько таблиц и строк используют .Это часто уменьшает не-
обходимое  для  хранения  таблиц  пространство на диске,но
никак не влияет на информацию в таблицах.
        "кластер" становится именем кластера.
        "столбец спецификация" описывают имена и  форматы  столбцов
кластера.Они вводятся подобно описанию столбцов  в  CREATE
TABLE,кроме NULL или NOT NULL,которые не м.б.заданы.
        Команда CREATE TABLE...CLUSTER обращается к  каждому  имени
столбца  кластера ,чтобы определить столбец таблицы,соот-
ветствующий  столбцу кластера .Необязательно ,чтобы имена
столбцов кластера совпадали с именами столбцов таблицы,хо-
тя такое совпадение удобно для  понимания.По крайней мере
один из просматриваемых столбцов таблицы д.б.объяв-
лен,как NOT NULL.
        Общая длина столбцов кластера плюс число столбцов  кластера
не может превышать 256.Таблицы LONG-столбцами не м.б.
помещены в кластер.
        SIZE описывает в байтах размер логического блока .Задание
для SIZE малого значения экономит дисковое пространство,не-
обходимое для хранения кластера,особенно,если каждое зна-
чение столбца кластера появляется только в нескольких стро-
ках.В то же время  малое  значение  SIZE может увеличивать
время необходимое для доступа к таблицам в кластере.
        SIZE д.б.кратна физическому (обычному) размеру бло-
ка.В противном случае,ORACLE будет использовать следующее
большее кратное.Если SIZE  больше,чем  физический  размер
блока,ORACLE использует физический размер блока.
        SPACE описывает первоначальное размещение кластеров в  дис-
ковой памяти,максимальное число экстентов и тому  подобные
факторы.Используется также,как в CREATE TABLE.
        COMPRESS сжимает индекс столбца кластера,уменьшая его  раз-
мер.
        NOCOMPRESS запрещает сжатие,делая индекс  больше,и увели-
чивая в некоторых случаях скорость  доступа  к  таблице  по
столбцу кластера.
          Примеры:   Чтобы определить кластер с именем PERSONNEL,кото-
рый  может содержать примеры таблиц EMP и DEPT,введите:

         SQL> CREATE CLUSTER PERSONNEL (DEPTNO NUMBER);

Чтобы описать кластер GEOGRAPHY,в котором строки  сгруппи-
рованы в STATE (двухсимвольный столбец) и COUNTY ( числовой
столбец ),введите:
                         SQL> CREATE  CLUSTER GEOGRAPHI
                           2          (STATE CHAR(2),COUNTY NUMBER);

                           CREATE DATABASE LINK
CREATE[PUBLIC]DATABASE LINK связь
  CONNECT TO пользователь IDENTIFIED BY пароль USING  'база_данных';

                        Тип:   Команда SQL.
Описание: Связывает локальную БД с именем  пользо-
вателя в удаленной БД.Также вносит текущие измене-
ния в БД.
        Однажды создав связь БД,вы можете запросить табли-
цу в удаленной БД,соответствующих этой связи,ука-
зав связь во фразе FROM запроса или подзапроса.Запрос  или
подзапрос будет осуществлятся так,как если бы вы были при-
соединены к  удаленной БД в качестве пользователя.
        Если PUBLIC опущено,связь будет локальной (доступна только
пользователю,создавшему ее).Если PUBLIC определено,связь
будет общей (доступной для всех пользователей,исключая тех,
у кого  определена локальная  связь БД  с  тем  же
именем).фразу PUBLUC может использовать только DBA .
        "связь" - это имя,взятое для связи БД.
        "база_данных" - это описание удаленной БД,доступ-
ной через SQL*Net.
        "пользователь" и  "пароль" - имя пользователя и его пароль,
действительные для удаленной БД
        Запросы и подзапросы выполняемые через связи БД,
имеют следующие ограничения:
*       Количество  связей БД ,которые м.б.
        использованы одной командой ограничено.В большинс-
        тве систем это  ограничение  равно 4.Изменить  его
        может DBA.
*       Long-столбцы не м.б.выбраны запросом  через
        связь БД.
*       В древовидной структуре запросов(используется фра-
        за CONNECT BY):
        -   Оператор PRIOR не м.б.использован в дру-
            гих фразах,кроме как в CONNECT BY.
        -   Фраза START WITH не может содержать подзапрсов.
        -   Ни CONNECT BY ,ни  START WITH  не могут содер-
            жать функцию  USERENV ('ENTRYID'),функции  оп-
            ределенные пользователем или ROWNUM.
Примеры: Чтобы определить связь БД с именем
BOSTON,которая обращается к пользователю SCOTT  с  паролем
TIGER в БД D:BOSTON-MFG,введите:

         SQL> CREATE DATABASE BOSTON
           2      CONNECT TO SCOTT IDENTIFIED BY TIGER
           3      USING 'D:BOSTON-MFG';

После того,как создана связь БД,вы сможете  про-
извести запрос таблиц,имеющихся у пользователя   SCOTT   в
D:BOSTON-MFG:
                 SQL> SELECT * FROM EMP@BOSTON;

Вы можете также  запросить таблицы у других пользователей в
той же БД ( разделяя привилегии доступа ):

         SQL> SELECT * FROM ADAMS.DEPT@BOSTON;

                                CREATE INDEX
CREATE[UNIQUE] INDEX имя
  ON таблица(столбец[ASC|DESC],столбец[ASC|DESC],...)
 [COMPRESS|NOCOMPRESS]
 [SYSSORT|NOSYSSORT]
 [ROWS = n]
 [PCTFREE = {20|n}];
                          Тип:   Команда SQL.
Описание: Создает индексы для таблицы.Индекс содержит  вход
для каждого значения,которое находится в определенном сто-
лбце таблицы.Этот столбец иногда называется "индексирован-
ным столбцом".
        Также вносит текущие изменения в БД.
        SQL может использовать индекс для ускорения выполнения опе-
раций,которые осуществляют поиск в таблице по индексирован-
ным столбцам без полного ее просмотра.
        В то же время,индексы замедляют ввод,удаление и изменение
в полях индексированного столбца,поскольку индексы,как  и
таблица,д.б.изменены.
        Индексация может проводится  более чем  по  одному столбцу.
Строки с  одинаковым  значением  в  первом  индексированном
столбце индексируются по второму и т.д.
        Вы можете создать несколько индексов для различных столбцов
(или различных комбинаций столбцов) в одной и той же табли-
це.Каждый индекс увеличивает время,необходимое для работы
с таблицей.
        Каждый индекс ,созданный  для  определенной  таблицы,должен
иметь уникальное  имя.Индексы,созданные  для различных таб-
лиц,также нуждаются в уникальных именах.
        CREATE INDEX - создает индекс в указанных "столбцах" данной
"таблицы" который м.б.двух видов- по возрастанию или
по убыванию (АSCENDING или DESCENDING).
        UNIQUE - указывает на то,что  таблица  не  может  содержать
двух строк с одинаковыми значениями во всех индексированных
столбцах.Если UNIQUE опущено,таблица может содержать любое
число таких строк.
        Максимальная ширина конкатенации  индексов - 240  символов .
        COMPRESS  -  определяет те индексы ,которые  будут  сжаты;
        NOCOMPRESS - запрещает сжатие индексов.Сжатие уменьшает ко-
личество дискового пространства,занимаемого индексом и мо-
жет увеличить скорость операций ,использующих  индекс ,но
запрещает ORACLE выбирать значения индексируемых  полей  по
индексу без обращения к таблице.
        SYSSORT - говорит о подключении для создания индекса проце-
дуры  сортировки системы ORACLE .NOSYSSORT - используется
для отладки при поддержки базовой ОС.
        ROWS - определяет предполагаемое число индексируемых строк.
        SQL использует это число для оптимизации сортировки SYSSORT.
Это опция для предыдущих версий SQL*Plus.
        PCTFREE -  определяет процентное отношение индексированного
пространства к оставшемуся свободным для изменений и  вста-
вок,при индексировании.Она неэффективна для вставок в ин-
дексы ,после того  как  они  созданы .Большее  значение
PCTFREE разрешает вставку большего количества записей перед
индексированным блоком при наличии  свободного  места .Это
оптимизирует использование дискового пространства при  пер-
воначальном индексировании пространства.
          Примеры:   Чтобы  проиндексировать  таблицу  EMP  по  столбцу
ENAME,введите:
                 SQL> CREATE INDEX ROSEBUD
                   2      ON EMP (ENAME);

Заметьте,что необязательно описывать UNIQUE в этом случае,
т.к.не исключена возможность одинаковых имен у 2 служащих.

Чтобы проиндексировать таблицу EMP по столбцу EMPNO,введите:

         SQL> CREATE UNIQUE INDEX MONOLITH
           2      ON EMP (EMPNO);

Заметьте,что в этом случае  UNIQUE задан потому,что 2
служащих никогда не м.б.введены в таблицу с одинако-
вым табельным номером.
        Чтобы произвести несжатое индексирование по колонке  EMPNO,введите:

         SQL> CREATE UNIQUE INDEX MONOLITH
           2      ON EMP (EMPNO)
           3      NOCOMPRESS;

                                CREATE PARTITION
CREATE PARTITION имя;
                        Тип:   Команда SQL.
Описание: Создает новый раздел в БД.Также,вносит
текущие изменения в БД.
        "имя" - становится новым именем раздела .
        После создания  раздела  вы  должны  создать один или более
файлов с помощью CCF и добавить  их  в  раздел  посредством
ALTER PARTITION.
        Только DBA может использовать эту команду.
  Пример:   Чтобы  создать  раздел ,названный HISTORICAL_DATA,введите:

         SQL> CREATE PARTITION HISTORICAL_DATA;

                                CREATE SPACE
CREATE SPACE[DEFINITION] имя
  [DATAPAGES(
   [INITIAL{  5  |n}][INCREMENT{25|n}]
   [MAXEXTENTS{  9999  |n}][PCTFREE{  20  |n}]
   )]
  [INDEXPAGES(
   [INITIAL{  5  |n}][INCREMENT{  25  |n}]
   [MAXEXTENTS{  9999  |n}]
   )]
  [PARTITION{  SYSTEM  |имя}];

                                  Тип:   Команда SQL.
  Описание:   Определяет пространство.Когда вы создаете табли-
цу или кластер,вы можете определить его положение и  пара-
метры распределения пространства,просто указав  соответст-
вующее определение пространства в командах CREATE TABLE или
CREATE CLUSTER.
        Также вносит текущие изменения в БД.
DEFINITION - эта опция является необязательной."имя"  ста-
новится именем области определения .
        Параметры DATAPAGES  и  INDEXPAGES управляют распределением
пространства для таблицы и ее индексов соответственно.Если
определение пространства использовано при описании кластера,
INDEXPAGES также управляет определением  пространства   для
индекса кластера.
        INITIAL - определяет число страниц  дисковой памяти ,отве-
денных под таблицу или индексные сегменты,при их создании.
Минимальное значение равно 3.
        INCREMENT - определяет  число  добавляемых  страниц  каждый
раз,когда таблица или индексный сегмент заполнен.Минималь-
ное значение равно 3.
        MAXEXTENTS - определяет максимальное число добавляемых экс-
тентов,которое таблица или индекс могут получить;по умолча-
нию 9999 означает столько,сколько может позволить ОС.
        PCTFREE -  определяет  процентное  содержание  пространства
оставленного свободным для изменений.Когда строка вставля-
ется в таблицу,ORACLE выделяет новый блок для  нее ,если
при вставке ее в существующий блок  останется меньше прост-
ранства,чем это задано PCTFREE для свободного пространства,
в этом блоке.PCTFREE м.б.отменена фразой  PCTFREE  в
команде CREATE TABLE,которая ссылается на определение про-
странства.

                                CREATE SYNONIM
CREATE[PUBLIC]SYNONYM синоним FOR
   [имя_пользователя.]таблица[@база_данных];

                               Тип:   Команда SQL.
Описание: Создает синоним для  имени  таблицы  или экранной
формы.Также вносит текущие изменения в БД.
        PUBLIC -  создает  общий синоним,на который любой пользова-
тель может ссылаться без явного указания имени.Если PUBLIC
опущен,другие  пользователи  должны  использовать  синоним
вместе с вашим именем пользователя.Только DBA может создать
синоним PUBLIC.
        "синоним" становится именем синонима."имя_пользователя.таб-
лица" есть имя таблицы,экранной формы или синоним на кото-
рые происходит ссылка.Если "имя пользователя"опущено,CREATE
SYNONYM предполагает,что вы являетесь  владельцем  таблицы
или экранной формы.
        "@база_данных" - описывает связь БД с удаленной
БД.Синоним ссылается  на таблицу  в  БД
через связь БД.Если "имя пользователя." опущено ,
синоним ссылается  на  таблицу,относящуюся к имени пользо-
вателя,определенному связью БД.
          Пример:   Чтобы определить синоним  MARKET,ссылаясь на  таб-
лицу MARKET_RESEARCH,созданную пользователем  SCOTT,напишите:

         SQL> CREATE SYNONYM MARKET
           2     FOR SCOTT.MARKET_RESEARCH;

                                 CREATE TABLE
CREATE TABLE таблица (cтолбец специф[  NULL  |NOT NULL],...)
  [[SPACE пространство] [PCTFREE n]|
   CLUSTER кластер(столбец,...)];

CREATE TABLE таблица ( столбец[NOT NULL],...)
  [[SPACE пространство] [PCTFREE n]|
   CLUSTER кластер(столбец,...)]
  [AS запрос];

                        Тип:   Команда SQL.
Описание: Создает  таблицу и определяет ее столбцы и другие
параметры.Также,вносит текущие изменения в БД.
        "таблица" становится именем таблицы.

                                Первая форма
        Каждый "столбец" становится именем столбца."специф" опреде-
ляет тип и размер столбцов.Формат и значение "специф"  опи-
саны в главе 1 под заголовком "Типы данных".

                                Вторая форма
        Каждый "столбец"  становится  именем столбца; тип и размеры
столбцов задаются по результату "запроса" во фразе AS.Если
все столбцы в запросе имеют корректные и  уникальные имена,
"(столбец,...)" можно опустить;  будут  использованы  имена
столбцов запроса.Если  опция  "(столбец,...)"  определена,
число "столбцов" должно равняться количеству столбцов в за-
просе.После создания таблицы результаты  запроса  вставля-
ются,как строки.

                                Обе формы
        NULL - определяет,что поля в столбце м.б.пустыми.
NOT NULL - указывает на то,что они  не м.б.пустыми.
        Фразы "столбец" с параметром NOT NULL могут  повторятся  до 254 раз.
        SPACE - указывает определение пространства,которое  управ-
ляет размещением таблицы и распределением дисковой  памяти.
Если оно  опущено,CREATE SPACE по умолчанию используется
для всех параметров пространства.
        PCTFREE имеет ту же  функцию,что и в CREATE  SPACE.PCTFREE
отменяет значение  PCTFREE ,неявно описанное определением
пространства.
        CLUSTER - определяет,что таблица будет включаться в указа-
нный "кластер"."столбцы"- это столбцы "таблицы".По крайней
мере,хотя бы один из столбцов кластера д.б.NOT NULL.
        Для каждого столбца в ключе кластера указывает один столбец
из  таблицы.Столбцы будут сопоставлятся по  позициям,а не
по именам.
          Примеры:   Чтобы описать шаблон таблицы EMP,вы можете ввести:

         SQL> CREATE TABLE EMP
           2     (EMPNO NUMBER NOT NULL,
           3     ENAME CHAR(10) NOT NULL,
           4     JOB CHAR(9),
           5     MGR NUMBER,
           6     HIREDATE DATE ,
           7     SAL NUMBER(10,2),
           8     COMM NUMBER(9,0),
           9     DEPTNO NOT NULL);

Чтобы определить шаблон таблицы  SALGRADE  с  пространством
имеющим имя FRUGAL,вы можете ввести:

         SQL> CREATE TABLE SALGRADE
           2      (GRADE NUMBER,
           3      LOSAL NUMBER,
           4      HISAL NUMBER)
           5      SPACE FRUGAL;

                                CREATE VIEW
CREATE VIEW имя[(псевдоним,псевдоним,...)]
   AS запрос
   [WITH CHECK OPTION];
                          Тип:   Команда SQL.
  Описание:   Определяет экранную форму.Также  вносит текущие изменения в БД.
        "имя" - становится именем экранной формы.
        "AS запрос" - идентифицирует  столбцы  таблиц  и/или других
экранных форм,которые  появятся  в  этой  экранной форме и
строки,которые будут высвечиватся на экране.
        WITH CHECK OPTION - определяет то ,что при вставках и из-
менениях ,производимых через экранную форму ,нельзя соз-
дать новые строки,которые не м.б.выбраны экранной
формой.Реализация ORACLE фразы WITH CHECK OPTION не накла-
дывает ограничений на запрос,который  м.б.использо-
ван фразой AS.Также,фраза WITH CHECK OPTION м.б.ис-
пользована экранной формой,которая основывается на  другой
экранной форме.
        Если "псевдоним,..." указан,экранная форма использует  его
как имя соответствующего столбца.Если "псевдоним" не опре-
делен,экранная форма унаследует для столбца имя из запроса;
в этом случае каждый столбец в "запросе"  должен иметь  не-
двусмысленное имя.
        Вы можете применять  DELETE и  UPDATE  для  строк  экранной
формы,если она базируется  на  одной таблице и ее "запрос"
не содержит фразы GROUP BY и  DISTINCT,групповых  функций
и ссылок на псевдостолбец ROWNUM.Вы можете вставлять стро-
ки (INSERT),если экранная форма  соблюдает те же ограниче-
ния и ее запрос не содержит столбцы,определенные как выра-
жения.
        Помните,что,если столбцы добавляются к таблице,использу-
емой в экранной форме,определенной запросом,который выби-
рает все столбцы ("SELECT * FROM...") ,то экранная форма в
дальнейшем правильно работать не будет.Это м.б.исп-
равлено удалением старой и созданием новой экранной формы .
        Примеры: Чтобы создать экранную форму таблицы DEPT20 с име-
нем EMP,которая   показывает только служащих 20-го отдела,введите:

         SQL> CREATE VIEW DEPT20 AS
           2      SELECT       *
           3      FROM         EMP
           4      WHERE        DEPTNO = 20;

Чтобы создать экранную форму с именем ROSTER,которая пока-
зывает только имена служащих,должность и место жительства,введите:

         SQL> CREATE VIEW ROSTER (PERSON,TITLE,CITY) AS
           2      SELECT  ENAME,JOB,LOC
           3      FROM EMP,DEPT
           4      WHERE   EMP.DEPTNO = DEPT.DEPTNO;

                                    DEFINE
DEF[INE] переменная = текст;
DEF[INE][переменная];
                                Тип:   Команда SQL*Plus.
Описание: Определяет переменную пользователя и  присваивает
ей символьное  значение или показывает значение и тип переменной.

                                Первая форма
        Эта форма определяет переменную пользователя и  присваивает
ей символьное  значение .
        Как только сохраненный запрос или командный файл выполняют-
ся,значение переменной будет заменено для каждого экземпля-
ра "&переменная" или "&&переменная".Вы не получите   подс-
казку на ввод такой переменной,пока не отмените  ее или не
покинете SQL*Plus.Максимальное число переменных,определенных
командами DEFINE,равно 240.Если  вы размещаете  значение
переменной,определяемой DEFINE,на нескольких строках,каж-
дый символ перевода строки будет заменен  пробелом в итого-
вой переменной .
        Команда SELECT с DUMMY таблицей  предоставляет  собой менее
удобную,но более общую альтернативу команде DEFINE,допуская
использование функций,которые не могут использоваться в ко-
мандах SQL*Plus.

                                Вторая форма
        Эта форма показывает значение и тип определенной  "переменной".
DEFINE без "переменной" показывает  значения  и  типы  всех
указанных переменных пользователя .
  Примеры:   Чтобы  присвоить  значение MANAGER переменной POS,введите:

         SQL> DEF POS = MANAGER;

Теперь,если вы выполняете команду ,которая содержит ссыл-
ку '&pos',SQL подставит значение 'MANAGER' вместо  '&POS'.
Вам не будет выдана подсказка для ввода значения POS.
        Чтобы присвоить значение 20 переменной DEPTNO,запишите :

         SQL> DEF DEPTNO=20;

Заметьте,что хотя '20' и является числом ,значение ,прис-
военное DEPTNO,является символьным значением,состоящим из
двух символов '2' и '0'.
        Чтобы отобразить определение переменной CTR,введите:

         SQL> DEFINE CTR
         DEFINE CTR             =           5 (CHAR)

Этот результат показывает ,что значение CTR есть 5 ,а его тип CHAR .

                                      DEL
DEL
        Тип:   Команда SQL*Plus.
Описание:   Удаляет текущую строку текущего буфера.
        Примеры:   Чтобы удалить фразу WHERE из следующей команды:

       1 SELECT        ENAME,DEPTNO
       2 FROM          EMP
       3 WHERE         JOB = 'SALESMAN'

вы можете ввести
                         SQL> LIST 3

чтобы дать гарантию того,что строка содержащая фразу WHERE
будет текущей ,затем
                         SQL> DEL

чтобы удалить эту строку.Команда будет иметь вид

         1       SELECT  ENAME,DEPTNO
         2       FROM    EMP

                                   DELETE
DELETE FROM таблица[WHERE условие];
                                    Тип:   Команда SQL.
  Связанные темы:   фраза FROM; фраза WHERE.
          Описание:   Удаляет строки из указанной "таблицы".
Если фраза WHERE определена,все строки,для которых "усло-
вие" истинно,удаляются.Если она опущена,то удаляются все строки.
  Пример:    Чтобы  удалить  все  строки  из  таблицы  с именем
TEMP_ASSIGN,введите:
                         SQL> DELETE FROM TEMP_ASSIGN;

Чтобы удалить из таблицы EMP всех продавцов,которые сдела-
ли комиссионный сбор менее 100 долларов за последний месяц,введите:

         SQL> DELETE FROM EMP
           2   WHERE JOB = 'SALESMAN'
           3    AND  COMM < 100;

                                   DESCRIBE
DESC[RIBE] [пользователь.] таблица;
                                     Тип:   Команда SQL*Plus.
  Описание:   Показывает краткое описание указанной " таблицы "
принадлежащей указанному "пользователю".Если"пользователь"
опущен,SQL описывает вашу таблицу.
        Для каждого столбца описание содержит:
*        имя
*        разрешено ли нулевое значение ( 'NULL'  или   'NOT NULL')
*        тип данных: NUMBER,CHAR,DATE или LONG
*        ширину столбца (и количество знаков после запятой,
         если они есть,для числовых столбцов)
  Пример:   Чтобы описать таблицу EMP,введите:
                                                 SQL> DESC EMP;

DESCRIBE покажет следующую информацию:

         NAME                 NULL ?      TYPE
         EMPNO                NOT NULL    NUMBER(4)
         ENAME                            CHAR(10)
         JOB                              JOB(9)
         MGR                              NUMBER(4)
         HIREDATE                         DATE
         SAL                              NUMBER(7,2)
         COMM                             NUMBER(7,2)
         DEPTNO                           NUMBER(2)

                                DISCONNECT
DISC[ONNECT];
                Тип:   Команда SQL*Plus.
Описание: Вносит текущие изменения в  БД и  закан-
чивает ваш сеанс работы с ORACLE,но не завершает работы  с
SQL*Plus.
        Использует EXIT или QUIT для отключения от ORACLE и выводит
вас в среду ОС.

                                DOCUMENT
DOC[UMENT]
                Тип:   Команда SQL*Plus.
Описание:   Начинает блок документации в командном файле.
        Символом '#' заканчивается блок документации.Однако,реда-
ктор SQL*Plus не воспринимает этот знак.Чтобы ввести   его,
введите строку,содержащую пробел со следующим символом'#';
затем удалите пробел.
        Когда вы выполняете командный файл,блок документации сле-
дующий за командой DOCUMENT выводится на терминал,даже,ес-
ли установлено SET ECHO OFF.Показ комментариев можно запре-
тить только командой SET TERMOUT OFF.
        Когда установленo SET DOCUMENT OFF,команда DOCUMENT игнори-
руется  и следующие  строки  документации  интерпретируются
как команды (возможна ошибка).
        DOCUMENT является устаревшей командой ,взамен используйте REMARK.
Пример: Вот простой командный файл,иллюстрирующий исполь-
зование команды DOCUMENT:
                          DOCUMENT
         This line selects employees with commission.
         It also updates their records with bonuses.
         #
         SELECT FROM EMP WHERE ...;

                                DROP CLUSTER
DROP CLUSTER кластер;
                          Тип:   Команда SQL.
  Описание:   Удаляет указанный кластер из таблицы.Также  вно-
сит текущие изменения в БД.
        Вы не можете удалить кластер,содержаший таблицы или создан-
ный другим пользователем.
        Вы не можете удалить из кластера  отдельную таблицу .Чтобы
получить тот же результат,создайте новую таблицу с  той  же
структурой и содержанием,как  в  старой.Используйте DROP
TABLE для удаления старой таблицы.В заключении,используйте
RENAME,чтобы дать новой таблице имя владельца старой.Если
таблица имеет индексы,вы должны взять их описания из таблиц
словаря данных INDEXES или SYSINDEXES,до  удаления старой
таблицы и создать индексы в новой таблице.
        Пример:   Чтобы удалить кластер,названный GEOGRAPHY,введите:

         SQL> DROP CLUSTER GEOGRAPHY;

                                DROP DATABASE LINK
DROP [PUBLIC] DATABASE LINK связь;
                                          Тип:   Команда SQL.
  Описание:   Уничтожает связь БД,созданную  коман-
дой CREATE DATABASE LINK.Также вносит текущие изменения  в БД.
        Если связь типа PUBLIC (общая),нужно указать фразу PUBLIC;
только DBA могут использовать эту фразу .Если  связь  типа
PRIVATE (локальная),ничего указывать не надо.
        "связь" - это имя связи,которую надо уничтожить.
Пример: Чтобы уничтожить связь с именем BOSTON,введите:

         SQL> DROP DATABASE LINK BOSTON;

                                DROP INDEX
DROP INDEX индекс [ON таблица];
                                  Тип:   Команда SQL.
  Описание:   Удаляет указанный индекс из БД.Также со-
храняются произведенные изменения в БД.Нельзя уда-
лить индекс,созданный другим пользователем.Опция ON служит
для подтверждения имени таблицы.
  Пример:   Чтобы уничтожить индекс MONOLITH,введите:

         SQL> DROP INDEX MONOLITH;

                                DROP SPACE
DROP SPACE [DEFINITION] имя_пространства;
                                                Тип:   Команда SQL.
Описание: Уничтожает указанное определение пространства  из
БД.Также вносит текущие изменения в БД .
Когда вы уничтожаете определение  пространства,кластеры  и
таблицы,созданные при ссылке на это определение,не изменяются.
        Пример: Чтобы  уничтожить  определение  пространства  с
именем BIGSPACE,введите:

         SQL> DROP SPACE BIGSPACE;

                                DROP SYNONYM
DROP [PUBLIC] SYNONYM синоним;
                                Тип:   Команда SQL.
Описание: Уничтожает указанный синоним в БД.Также
вносит текущие изменения в БД.Нельзя удалить сино-
ним ,созданный  другим  пользователем.Если  синоним типа
PUBLIC(общий),то необходима фраза PUBLIC.Эта фраза разре-
шена только для DBA.
  Пример:   Чтобы удалить синоним MARKET,введите:

         SQL> DROP SYNONYM MARKET;

                                DROP TABLE
DROP TABLE таблица;
                        Тип:   Команда SQL.
Описание: Удаляет указанную таблицу из БД.Также
вносит текущие изменения в БД.
        Нельзя удалить таблицу,созданную другим пользователем.
        При уничтожении таблицы SQL автоматически уничтожает индек-
сы,созданные как вами,так и другими пользователями,а так-
же все связанные с таблицей привилегии .Экранные  формы  и
синонимы  таблицы не уничтожаются ,но становятся недоступ-
ными.Необходимо уничтожить или переопределить их так,чтобы
эти синонимы и экранные формы стали доступными.
        Пример:   Чтобы уничтожить таблицу TEST_DATA,введите:

         SQL> DROP TABLE TEST_DATA;

                                DROP VIEW
DROP VIEW экранная_форма;
                                Тип:   Команда SQL.
Описание: Удаляет указанную экранную форму из БД .
Также сохраняет  произведенные  изменения  в БД.
        Нельзя уничтожить экранную форму,созданную другим пользователем.
        При удалении экранной  формы  относящиеся  к  ней  экранные
формы и синонимы не уничтожаются,но становятся недоступны-
ми.Необходимо удалить или переопределить их,либо  переоп-
ределить другие таблицы  и  экранные  формы  так,чтобы они
стали доступными.
Пример:   Чтобы удалить экранную форму VIEW_DATA,введите:

         SQL> DROP VIEW VIEW_DATA;

                                     EDIT
EDIT [имя_файла][.расширение]]
                                Тип:   Команда SQL*Plus.
Описание:   Вызывает системный текстовый редактор для  редак-
тирования указанного файла.Если расширение файла опущено ,
берется расширение .SQL.Если  "имя_файла"  и  "расширение"
опущены,то  будет  редактироваться  содержимое   текущего
буфера.
        Переменная пользователя _EDITOR содержит имя текстового ре-
дактора,вызываемого командой EDIT.Вы можете изменить вызы-
ваемый редактор,изменив значение переменной _EDITOR.Смот-
рите  описание  команды  DEFINE для получения информации об
изменении значений переменных пользователя.
        EDIT не будет работать,если  указанный  файл не существует
или текущий буфер пуст.

                                     EXIT
EXIT
        Тип:   Команда SQL*Plus.
Описание: Завершает работу SQL*Plus и возвращает управление
ОС.Вносит текущие изменения в БД.

                                      GET
GET имя [  LIS[T]  |NOL[IST]];
                                Тип:   Команда SQL*Plus.
Описание: Загружает файл операционной системы в текущий бу-
фер."имя" определяет файл,который надо загрузить.Если тип
файла не указан (т.е.нет расширения),то ищется файл с рас-
ширением по умолчанию,обычно .SQL.Фраза  LIST  заставляет
SQL*Plus распечатать содержимое буфера,фраза NOLIST  отме-
няет распечатку.
  Пример:   Чтобы загрузить файл YEARENDRPT.SQL,введите:

         SQL> GET YEARENDRPT;

                                    GRANT
GRANT [CONNECT,][RESOURCE,][DBA] TO польз1,польз2,...
           [IDENTIFIED BY пароль1,пароль2,...];

GRANT {привилегия1,привилегия2,...|ALL} ON таблица
           TO {польз|PUBLIC} [WITH GRANT OPTIONS];
                                                        Тип:   Команда SQL.
Описание: Создает идентификатор пользователя,определяет па-
роли,определяет привилегии пользователя ,либо  определяет
привилегии пользователя по отношению к  таблицам и экранным
формам.Также вносит текущие изменения  в БД.

                                Первая форма
        Эта форма создает идентификатор пользователя,определяет па-
роль,определяет привилегии пользователя.Любой пользователь
может использовать   команду GRANT CONNECT TO для изменения
своего пароля.Другие формы команды могут применяться только
DBA.
        CONNECT позволяет пользователю регистрироваться в ORACLE.
        RESOURCE дает пользователю право создавть таблицы и  другие
объекты БД.
        DBA дает пользователю право выполнять команды ,разрешенные
только для DBA.Эти фразы можно использовать в  любом соче-
тании.
        Каждое эначение "польз" становится идентификатором  пользо-
вателя.Каждый "пароль" становится паролем,который соответ-
ствующий  пользователь  должен  ввести для  входа в ORACLE.
Если опущена фраза "IDENTIFIED BY пароль",то раздел пользо-
вателя паролем не защищен.

                                Вторая форма
        Эта форма определяет  привилегии  пользователя относительно
таблиц и экранных форм .Выражение {привилегия1,..} опреде-
ляет команды,разрешенные пользователю для работы с таблица-
ми.Можно использовать комбинации  следующих команд: ALTER,
DELETE,INDEX,INSERT,SELECT,UPDATE .Команды разделяются за-
пятыми.ALL означает все команды .За командой UPDATE может
следовать список столбцов,заключенный в круглые скобки:

     GRANT UPDATE (столбец1,столбец2,...) TO ...;

Пользователь,получивший доступ к этой таблице,сможет редак-
тировать только указанные столбцы."таблица" определяет таб-
лицу или экранную форму,к которой разрешается доступ.Если
разрешается доступ к экранной форме,то допустимо использо-
вание следующих команд: DELETE,INSERT,SELECT,UPDATE.
        "польз" - это идентификатор  пользователя,которому предос-
тавляется доступ.PUBLIC открывает доступ всем пользователям.
        Фраза WITH GRANT OPTION дает право передавать все или часть
привилегий другим пользователям.
        Примеры: Изменение пароля.Чтобы изменить пароль  пользова-
теля SCOTT на COWSLIP,введите:

         SQL> GRANT CONNECT TO SCOTT IDENTIFIED BY COWSLIP;

Теперь ваш идентификатор пользователя уже существует и  вам
не надо его больше указывать.
        Определение привилегий пользователя: если вы DBA,то вы мо-
жете открыть доступ и дать привилегию  на  создание  таблиц
пользователю с именем ZELDA с паролем WYVERN,например:

  SQL> GRANT CONNECT,RESOURCE TO ZELDA IDENTIFIED BY WYVERN;

Определение привилегий для таблицы: чтобы разрешить все ко-
манды для таблицы BONUS пользователю с именем JONЕS,включая
возможность делиться привилегиями,введите:

         SQL> GRANT ALL ON BONUS TO  JONES
           2      WITH GRANT OPTION;

Чтобы разрешить запрос и редактирование таблицы всем  поль-
зователям,введите:

       SQL> GRANT SELECT,UPDATE ON GOLF_HANDICAP TO PUBLIC;

                                     HELP
HELP {команда|фраза|тема};

HELP {COMMANDS|CLAUSES};

HELP;
                                Тип:   Команда SQL*Plus.
Описание: Выдает информацию  по  указанному пункту.HELP
COMMANDS выдает список команд,для которых возможно получение помощи.
HELP CLAUSES выдает список фраз и тем.
HELP выдает список тем,по которым можно получить помощь.

Помощь возможна для следующих команд:

@                      CREATE SYNONYM         LOCK
#                      CREATE TABLE           TABLE
$                      CREATE VIEW            NEWPAGE
/                      DEFINE                 NOAUDIT
/*...*/                DEL                    PAUSE
ALTER PARTITION        DELETE                 QUIT
ALTER SPACE            DESCRIBE               RENAME
ALTER TABLE            DISCONNECT             REMARK
ACCEPT                 DOCUMENT               REVOKE
APPEND                 DROP CLUSTER           ROLLBACK
AUDIT                  DROP INDEX             RUN
BREAK                  DROP SPACE             SAVE
BTITLE                 DROP SYNONYM           SELECT
CHANGE                 DROP TABLE             SET
CLEAR                  DROP VIEW              SHOW
COLUMN                 EDIT                   SPOOL
COMMENT                EXIT                   SQLPLUS
COMMIT                 GET                    START
COMPUTE                GRANT                  TIMING
CREATE CLUSTER         HELP                   TTITLE
CREATE DATABASE LINK   HOST                   UNDEFINE
CREATE INDEX           INPUT                  UPDATE
CREATE PARTITION       INSERT                 VALIDATE
CREATE SPACE           LIST                   INDEX

Помощь,также,возможна для следующих фраз и тем:

Assignment      FEEDBACK     LINESIZE      SPACE
BREAK ON        FORMAT       NUMWIDTH      Subquery
CONNECT BY      FROM         ORDER BY      Titles
DUMMY           GROUP BY     Outer Join    Variables
ECHO            HAVING       PAGESIZE      WHERE
Editing         Joins        Query         WRAP
Expressions     LIKE         Repeating

  Примеры:   Чтобы отобразить информацию о команде  SELECT,
фразе FROM,о командах соединения,введите:

         SQL> HELP SELECT;
         SQL> HELP FROM;
         SQL> HELP JOINS;

                                     HOST
HO[ST] командная_строка
                                Тип:   Команда SQL*Plus.
Описание: Позволяет выполнять команды ОС,
не покидая SQL.Для индикации режима HOST в некоторых ОС
служит  символ '$' или  другие  символы.
Для дополнительной информации  смотрите " Руководство поль-
зователя и установка ORACLE ".
        В некоторых ОС эта команда не разрешена
или имеет побочные эффекты.Смотрите ваше " Руководство по-
льзователя и установка ORACLE ".
        Пример:  Чтобы  выполнить  команду ОС DIRECTORY *.SQL,введите:

         SQL> HOST DIRECTORY *.SQL

                                     INPUT
I[NPUT] [текст]
                        Тип:   Команда SQL*Plus.
Описание: Добавляет новую строку после текущей строки в текущем буфере.
        Чтобы  добавить  одну строку,наберите за  INPUT нужный вам
текст,разделив пробелом INPUT и текст.Если вы хотите,чтобы
строка   начиналась одним,двумя и более пробелами,сделайте
между INPUT и текстом два,три и более пробелов.Если вы хо-
тите  добавить несколько строк,введите  INPUT  без текста.
Для каждой новой строки будет появляться подсказка.Для вы-
хода из INPUT введите пустую строку.
        Примеры:   Чтобы добавить  выражение ORDER BY  ко  второй
команде :

         1   SELECT ENAME,DEPTNO,SAL,COMM
         2   FROM EMP

надо сделать следующее:
                         SQL> LIST 2
                         2*  FROM EMP
                         SQL> INPUT ORDER BY ENAME

LIST 2  подтверждает,что строка 2 текущая.INPUT добавляет
новую строку,содержащую фразу ORDER BY ENAME,после текущей
строки.Результат будет следующим:

         1   SELECT ENAME,DEPTNO,SAL,COMM
         2   FROM EMP
         3*  ORDER BY ENAME

Если мы хотим добавить две строки,то  проделаем  следующие
операции:
         SQL> LIST 2
         2*   FROM EMP
         SQL> INPUT
         3i   WHERE JOB='SALESMAN'
         4i   AND COMM > 500
         5i

LIST 2  подтверждает,что строка 2 текущая.INPUT  включает
режим подсказки.Режим заканчивается при вводе пустой стро-
ки.Результат будет следующим:
                                 1   SELECT ENAME,DEPRNO,SAL,COMM
                                 2   FROM   EMP
                                 3   WHERE  JOB='SALESMAN'
                                 4    AND COMM > 500

                                INSERT
INSERT INTO таблица [(столбец,столбец,...)]
         {VALUES(значение,значение,...|запрос};
                                                   Тип:   Команда SQL.
Описание: Добавляет новые строки в указанную "таблицу"  или
экранную форму.Если имеется список  "столбцов"  в  круглых
скобках,то необходимо в выражении VALUES обеспечить значе-
нием каждый перечисленный столбец.Если списка столбцов нет,
то необходимы  значения  для всех столбцов.INSERT...VALUES
добавляет одну строку.Поля указанных  столбцов ( или  всех
столбцов )  получают  соответствующие  значения  из  списка
VALUES.Оставшимся  столбцам  присваивается значение NULL.
(они не д.б.объявлены как NOT NULL).
        "INSERT...запрос" добавляет столько строк,сколько  выбрано
в результате запроса.После выполнения запроса столбцы  пе-
редают свои значения указанным в  команде  SELECT  столбцам
(либо всем столбцам,если в SELECT не определяются конкрет-
ные значения).
        Примеры:   Чтобы  вставить  новую  строку в таблицу DEPT,введите:

         SQL> INSERT INTO DEPT
           2     VALUES (50,'PRODUCTION','SAN FRANCISCO');

Чтобы заполнить шесть столбцов новой строки в таблице EMP ,
включая значение NULL и  число  в экспоненциальном формате,
введите:
         SQL> INSERT TO EMP
           2   (EMPNO,ENAME,JOB,SAL,COMM,DEPTNO)
           3   VALUES (7890,'LINKS','CLERK',1.2E3,
           4      NULL,40);

Чтобы занести в таблицу BONUS менеджеров,президентов,а так-
же служащих,чья надбавка больше 25% их жалованья ,введите:

         SQL> INSERT INTO BONUS
           2   SELECT ENAME,JOB,SAL,COMM
           3   FROM EMP
           4   WHERE COMM > .25 * SAL
           5   OR JOB IN ('PRESIDENT','MANAGER');

                                    LIST
L[IST] [{нач_строка|*} [конеч_строка|*]]
                                                Тип:   Команда SQL*Plus.
Описание: Выдает строки текущего буфера от "нач_строка"  до
"конеч_строка".Последняя выданная строка становится текущей
(перед ней высвечивается звездочка).
        Первоначально буфер SQL является текущим.Можно выбрать дру-
гой буфер командой SET BUFFER.
        Чтобы высветить одну строку,укажите "нач_строка",а"конеч_
строка" опустите.Чтобы высветить все строки,опустите и то
и другое.
        Звездочка используется для обозначения текущей строки буфе-
ра.Пробел между командой и "нач_строка" можно опустить.
        Примеры:   Чтобы посмотреть текущую команду SQL,введите:
                                                                 SQL> L

Результат м.б.таким:
                         1  SELECT ENAME,DEPTNO
                         2* FROM EMP

Звездочка указывает на текущую строку.
        Чтобы высветить одну первую строку,введите:
                                                         SQL> L 1
Результат м.б.таким:
                         1* SELECT ENAME,DEPTNO

                                LOCK TABLE
LOCK TABLE таблица1,таблица2,...
       IN {SHARE|SHARE UPDATE|EXCLUSIVE} MODE
       [NOWAIT];
                                                Тип:   Команда SQL.
Описание: Блокирует таблицу в указанном режиме.Различные
режимы позволяют вам разделять доступ к таблицам,не нару-
шая целостности таблицы.
        Обычно,когда вы начинаете вставлять,редактировать,уда-
лять строки в таблице,другие пользователи не могут модифи-
цировать таблицу до тех пор ,пока вы либо  не  сохраните,
либо не отмените ваши изменения в таблице.
        Когда вы  блокируете  таблицу,вы можете разрешить  режим
доступа  к  этой  таблице другим  пользователям.LOCK TABLE
позваляет вам наложить дополнительные блокировки.Сама таб-
лица ,однако,все равно остается заблокированной,пока вы ли-
бо не сохраните,либо не отмените ваши изменения.
        SHARE ставится,когда вы делаете запрос таблицы,это позво-
ляет другим пользователям производить запросы из таблицы,но
не модифицировать ее.SHARE UPDATE используется когда вы ре-
дактируете и проводите различные операции,которые блокиру-
ют строки при помощи команды SELECT...FOR UPDATE,например,
SQL*Forms.Это   позволяет   вам   редактировать  строки  в
таблице,в то время как другие пользователи имеют в этой же
таблице заблокированные строки (это,однако,будет до ре-
дактирования строк другими пользователями).EXCLUSIVE ста-
вится,когда  вы  редактируете  много строк в таблице,это
запрещает другим пользователям блокировать  или  редактиро-
вать любые строки в таблице.
        Если LOCK TABLE не м.б.выполнена,т.е.другой поль-
зователь уже заблокировал таблицу,то  команда  LOCK TABLE
обычно ждет разрешения на доступ.NOWAIT заставляет команду
LOCK TABLE возвратить управление и вы можете выполнить дру-
гие команды,пока таблица не станет доступной.
        Таблица остается  заблокированной до тех пор,пока вы либо
не сохраните,либо не отмените ваши изменения.
        Пример: Чтобы заблокировать таблицу EMP в режиме EXCLUSIVE,
без ожидания,введите:
                         SQL> LOCK TABLE EMP
                           2   IN EXCLUSIVE MODE
                           3   NOWAIT;

                                NEWPAGE
NEWPAGE [  1  |n];
                                                Тип:   Команда SQL*Plus.
Описание: При буферизованном выводе отступает  n  строк  от
начала  новой страницы.
        Пример: Чтобы  отступить три строки  от  начала новой стра-
ницы,введите:
                         SQL> NEWPAGE 3;

                                   NOAUDIT
NOAUDIT {опция1,опция2,...|ALL}
       ON {таблица|DEFAULT}
       [WHENEVER [NOT] SUCCESSFUL];

NOAUDIT {опция1,опция2,...|ALL}
       [WHENEVER [NOT] SUCCESSFUL];
                                          Тип:   Команда SQL.
Описание: Частично или полностью отменяет действие предыду-
щей команды  AUDIT  или  действие  опций в таблице DEFAULT.
Заставляет ORACLE прекратить режим AUDIT при  использовании
таблиц,экранных форм и т.д.
        Также сохраняет все произведенные изменения в БД.
        Все опции аналогичны опциям  команды AUDIT.
        Примеры: Чтобы прекратить слежение за командой UPDATE в
таблице EMP,введите:
                         SQL> NOAUDIT UPDATE ON EMP;

Чтобы прекратить слежение в таблице EMP за командами завер-
шившимися неудачно,введите:
                           SQL> NOAUDIT ALL ON EMP WHENEVER NOT SUCCESSFUL;

Чтобы прекратить слежение за удачно завершившимся  запроса-
ми ресурсов,введите:
                           SQL> NOAUDIT RESOURCE WHENEVER SUCCESSFUL;

                                     PAUSE
PAU[SE] [текст];
                        Тип:   Команда SQL*Plus.
Описание: Выдает  пустую  строку,затем  строку,содержащую
"текст" и  затем  ожидает  нажатия  клавиши  [RETURN].Если
"текст" отсутствует,PAUSE выдает 2 пустые строки и уста-
навливается в режиме ожидания ввода.
        Команда ожидает ввода с терминала,даже если ввод переназ-
начен в файл.
        Пример:  Чтобы  напечатать  сообщение  " Press  RETURN  to
continue." с ожиданием нажатия клавиши [RETURN],введите:

         SQL> PAUSE Press RETURN to continue.;

                                    QUIT
QUIT;
                Тип:   Команда SQL*Plus.
Описание:  Покидает  SQL*Plus и возвращает управление ОС
.Все  произведенные изменения записываются в БД.
        QUIT-синоним команды EXIT.

                                  REMARK
REM[ARK] текст
                Тип:   Команда SQL*Plus.
Описание: Команда REMARK начинает комментарий  в  командном
файле.Комментарий ограничивается концом строки.Он не вос-
принимается как команда.
  Пример:   Ниже приведен командный файл,содержащий комментарии:

   REM COMPUTES use the alias DUMMY to break on end of table.
   BREAK ON DUMMY;
   COMPUTE SUM OF "DEPARTMENT 10" ON DUMMY;
   COMPUTE SUM OF "DEPARTMENT 20" ON DUMMY;
   COMPUTE SUM OF "DEPARTMENT 30" ON DUMMY;
   COMPUTE SUM OF "TOTAL BY JOB"  ON DUMMY;
   REM Each column displays the sums of salaries by job for
   REM  one of the departments 10,20,30.
   SELECT JOB,
   SUM(DECODE(DEPTNO,10,SAL,0)) "DEPARTMENT 10",
   SUM(DECODE(DEPTNO,20,SAL,0)) "DEPARTMENT 20",
   SUM(DECODE(DEPTNO,30,SAL,0)) "DEPARTMENT 30",
   SUM(SAL) "TOTAL BY JOB",
   SUM(0) DUMMY
   FROM EMP
   GROUP BY JOB;

                                  RENAME
RENAME имя1 TO имя2;
                        Тип:   Команда SQL.
Описание: Меняет имя таблицы,экранной формы или синонима  с
"имя1" на "имя2"."имя1" - это старое имя объекта,"имя2" - новое имя.
  Пример:   Чтобы переименовать таблицу DEPT в EMP_DEPT,введите:

         SQL> RENAME DEPT TO EMP_DEPT;

                                  REVOKE
REVOKE [CONNECT,] [RESOURCE,] [DBA]
       FROM пользователь1,пользователь2,...;

REVOKE {привилегия|ALL} ON таблица
       FROM {пользов1,пользов2,...|PUBLIC};
                                                Тип:   Команда SQL.
Описание: Отменяет привилегии БД и привилегии дос-
тупа к таблицам у  пользователей.Все  произведенные  изме-
нения записываются в БД.

                                Первая форма
Эта форма  отменяет привилегии БД у одного или нес-
кольких пользователей.Только DBA может  использовать  эту форму.
        CONNECT,RESOURCE  и DBA имеют те же значения,что и в команде GRANT.
        "пользователь" - это идентификатор пользователя,чьи приви-
легии отменяются.

                                Вторая форма
        Эта форма  отменяет привилегии относительно таблиц и экран-
ных форм у одного или нескольких пользователей.
        Если пользователь получил разрешение на доступ более,чем
от одного  лица,то он будет иметь доступ к таблице до тех
пор,пока все они не отменят его привилегии.
        При отмене привилегии  у  пользователя она также отменяется
и у тех,кому он ее предоставил.
        "привилегия" означает любую привилегию,предоставленную ко-
мандой GRANT.ALL отменяет все привилегии.
        "ON таблица" обозначает имя таблицы,экранной формы или си-
нонима,у которого отменяются привилегии.
        "пользов" - это идентификатор пользователя,у  которого от-
меняются привилегии.FROM PUBLIC отменяет привилегии,прис-
военные PUBLIC.
        Пример: Чтобы удалить привилегию DBA у пользователей с име-
нем SCOTT и JOLLY_ROGER,введите:
                                 SQL> REVOKE DBA FROM SCOTT,JOLLY_ROGER;

Чтобы отменить у пользователя  JONES  привилегию редактиро-
вать таблицу или экранную форму DEPT10,введите:

         SQL> REVOKE ALTER,DELETE,INSERT,UPDATE
           2   ON DEPT10
           3   FROM JONES;

Чтобы отменить все привилегии относительно таблицы DEPT10 у
всех пользователей,не имеющих  индивидуальных  привилегий,
введите:
         SQL> REVOKE ALL ON DEPT10 FROM PUBLIC;

                                ROLLBACK
ROLL[BACK];
                Тип:   Команда SQL*Plus.
Описание: Отменяет  последние  изменения ,произведенные  в
таблицах БД.Также снимает в таблицах все блокировки.
        Если  во  время  транзакции  по какой-либо причине произош-
ло прерывание,например,из-за  неполаок  в электросети или
ошибок при выполнении команд INSERT,UPDATE,DELETE,то SQL
автоматически выполняет команду ROLLBACK.Поэтому,рекомен-
дуется  выполнять  команду  COMMIT,когда вы уверены в пра-
вильности произведенных изменений.
        SQL*Plus  автоматически сохраняет  изменения  в БД
при  выполнении  следующих  команд:  ALTER,AUDIT,COMMIT,
CONNECT ,CREATE ,DISCONNECT,DROP,EXIT,GRANT,NOAUDIT,
QUIT,REVOKE,RENAME.Команда  SET AUTOCOMMIT ON заставляет
SQL  автоматически  сохранять  изменения  после  выполнения
любой команды,производящей какие-либо изменения.
        После того,как изменения сохраняются,они  не  м.б.
отменены.

                                SAVE
SAV[E] имя [CRE[ATE]|  REP[LACE]  |APP[END]];
                                                Тип:   Команда SQL*Plus.
Описание: Сохраняет содержимое текущего буфера в файл ОС
.Если расширение в  "имени" файла не ука-
зано,то добавляется  расширение  командного  файла (обычно .SQL).
        Первоначально текущим является буфер SQL.Можно выбрать но-
вый текущий буфер командой SET BUFFER.
        Если файл с таким именем уже существует,то: при CREATE вы-
дается сообщение об ошибке,при  REPLACE файл переписывает-
ся,при APPEND содержимое буфера добавляется к файлу.
        Пример: Чтобы сохранить содержимое текущего буфера  в файле
с именем DEPTSALRPT.SQL,введите:
                                 SQL> SAVE DEPTSALRPT;

                                SELECT
SELECT[  ALL  |DISTINCT] {[таблица.]*|выражение[псевдоним],
                       ...}
    FROM таблица [псевдоним],таблица[псевдоним],...
    [WHERE условие]
    [CONNECT BY условие[START WITH условие]]
    [GROUP BY выражен,выражен,...] [HAVING условие]
    [{UNION|INTERSECT|MINUS} SELECT ...]
    [ORDER BY {выражен|позиция} [  ASC  |DESC],
                      {выражен|позиция} [  ASC  |DESC],...
    [FOR UPDATE OF столбец,столбец,...[NOWAIT]];
                                                        Тип:   Команда SQL.
Связанные темы: фраза FROM; фраза GROUP BY и  HAVING; "Сое-
динения в запросах"; оператор LIKE; фраза  ORDER BY ; "Под-
запросы  и  вложенные запросы"; фраза WHERE.
        Описание: Выбирает строки и столбцы из одной или нескольких
таблиц.Может использоваться как команда,или (с некоторыми
ограничениями во фразах) как запрос ,или  подзапрос в дру-
гих командах SQL или SQL*Plus.
        Фразы должны применяться в указанном  порядке.Исключения:
*        CONNECT BY ,START WITH ,GROUP BY ,HAVING  могут
         располагаться в любом порядке.
*        ORDER BY и FOR UPDATE OF можно менять местами.

                                Параметры и фразы
ALL заставляет команду  SELECT отображать все строки,полу-
ченные при запросе.DISTINCT  не высвечивает  повторяющиеся
строки.
        Каждое "выражение" становится  столбцом при отображении ,а
каждая  "таблица.*"  набором столбцов для каждого столбца в
"таблице" в том порядке,в каком столбцы были объявлены при
создании таблицы.Знак "*" (если  он стоит один) эквивален-
тен параметру "таблица.*" для всех таблиц  из  списка фразы
FROM,в порядке их написания.Каждый "псевдоним" использует-
ся,чтобы пометить  предшествующее "выражение" в отображае-
мой  таблице  и  м.б.использован в командах SQL*Plus
для ссылки на столбцы в отчете,содержащие "выражение".Если
"псевдоним" содержит пробелы или специальные символы,такие,
как '+' и '-',то он д.б.заключен в кавычки.
        FROM  "таблица"  определяет  таблицу или экранную форму,из
которой будет производиться запрос.Соединение подразумева-
ет более,чем одну "таблицу"."псевдоним",если указан,мо-
жет быть использован для предшествующей "таблицы" посредст-
вом ввода другой команды SELECT.
        WHERE определяет условие запроса,по  которому будет прово-
диться выбор строки и соединение таблиц.Более  подробно об
этом написано в теме "WHERE" главы 1.
        CONNECT BY  определяет  древовидную  структуру  для строк и
способ связи строк в дерево.Фраза PRIOR должна стоять перед
фразой "условие".PRIOR представляет "родителя" в отношениях
ниях "отец-сын" между вершинами дерева.Другая часть предс-
тавляет "сына".Например,"CONNECT BY PRIOR EMPNO=MGR" озна-
чает,что поле EMPNO в родительской вершине равно полю MGR в
каждой  сыновней  вершине.Максимальное  число  уровней  в
CONNECT BY равно 256.
        START WITH определяет строку ( или строки),используемые  в
качестве корня (или корней),путем задания условия.Если эта
фраза опущена,то SELECT возвращает серии деревьев,начина-
ющихся с каждой выбранной строки.
        Когда команда SELECT содержит фразу  CONNECT BY ,можно ис-
пользовать псевдоколонку  LEVEL.LEVEL возвращает  число  1
для корневой вершины,2 - для "сына",3 - для "внука" и т.д.
        GROUP BY и HAVING ипользуются для отображения суммарной ин-
информации о группах строк,имеющих  одинаковые  значения в
одном или нескольких полях.Для  дополнительной  информации
смотри тему GROUP BY в главе 1.
        UNION,INTERSECT,MINUS  комбинируют результаты двух команд
SELECT в один блок.UNION  возвращает все результаты одного
из компонентов.INTERSECT возвращает результаты,присутству-
ющие в обоих компонентах.MINUS  возвращает результат,при-
сутствующий только в первом из них.Число и типы столбцов ,
выбираемых каждым компонентом запроса ,д.б.одинако-
выми (длина м.б.разной).Если комбинируется более,чем
две команды SELECT ,то  смежные пары просматриваются слева
направо.Для  задания другого порядка просмотра используют-
ся скобки.Все 3 оператора требуют DISTINCT во всех коман-
дах  SELECT .Все они  несовместимы  с  фразами ORDER BY и
FOR UPDATE OF.
        ORDER BY определяет  порядок,в  котором  будут  возвращены
строки таблицы.Более  полно  это описано  в  теме ORDER BY
главы 1.
        FOR UPDATE OF блокирует выбранные строки.После SELECT...FOR
UPDATE  OF  должны  следовать  одна  или  несколько  команд
UPDATE...WHERE.Заблокированные  вами  строки не будут дос-
тупны другим пользователям  до тех пор,пока  вы не разбло-
кируете их командами COMMIT или ROLLBACK.Вообще,когда  вы
изменили строку в таблице,другие пользователи не смогут ис-
пользовать эту таблицу,пока вы не разблокируете ее команда-
ми COMMIT или ROLLBACK.
        FOR UPDATE  не может применяться с фразами DISTINCT ,GROUP
BY,UNION,INTERSECT,MINUS и с групповыми функциями,таки-
ми,как COUNT и MAX.
        NOWAIT заставляет команду SELECT завершаться (т.е.отменяет
режим ожидания),если строки,выбранные с помощью фразы FOR
UPDATE OF,не м.б.блокированы,поскольку  кто-то уже
использует их.
          Пример:   Чтобы отобразить поля ENAME,SAL,JOB,DEPTNO из всех
строк таблицы EMP,в которой номер отдела  меньше или равен
30,введите:
                 SQL> SELECT ENAME,SAL,JOB,DEPTNO
                   2   FROM EMP
                   3   WHERE DEPTNO <= 30;

Запрос с древовидной структурой: чтобы поместить  записи из
таблицы EMP в древовидную структуру,начиная с "KING" и со-
единяя поле MGR каждой записи с полем  EMPNO предшествуюшей
записи,введите:
                 SQL> SELECT ENAME,EMPNO,JOB,DEPTNO,MGR
                   2   FROM EMP
                   3   CONNECT BY PRIOR EMPNO = MGR
                   4   START WITH ENAME = 'KING';

                                   SET
SET  { ARRAYSIZE {  20  |n}|
       AUTO[COMMIT] {  OFF  |ON}|
       BUF[FER] буфер|
       CMDS[EP] {  ;  |c|  OFF  |ON}|
       CONCAT {.|c|OFF|  ON  }|
       COPYCOMMIT {  0  |n}|
       DCL[SEP] {  !  |c}|
       DEF[INE] {  &  |c|OFF|  ON  }|
       DOC[UMENT] {OFF|  ON  }|
       ECH[OSET] {  OFF  |ON}|
       EMBEDDED {  OFF  |ON}|
       ESCAPE {c|  OFF  |ON}|
       FEED[BACK] {  6  |n|OFF|  ON  }|
       FLUSH {OFF|  ON  }|
       HEA[DING] {OFF|  ON  }|
       HEADS[EP] {  |  |c|OFF|  ON  }|
       LIN[ESIZE] {  80  |n}|
       LONG {  80  |n}|
       MAXD[ATA] n|
       NEWP[AGE] {  1  |n}|
       NULL текст|
       NUMF[ORMAT] текст|
       NUM[WIDTH] {  10  |n}|
       PAGES[IZE] {  14  |n}|
       PAU[SE] {  OFF  |ON|текст}|
       SCAN {OFF|  ON  }|
       SHOW[MODE] {  OFF  |ON}|
       SPA[CE] {  1  |n}|
       SQLC[ONTINUE] {  '>'  |символ}|
       SQLN[UMBER] {OFF|  ON  }|
       SQLPRE[FIX] {  #  |c}|
       SQLP[ROMPT] {  SQL>  |текст}|
       SQLT[ERMINATOR] {  ;  |c|OFF|  ON  }|
       SUFFIX {SQL|текст}|
       TAB {OFF|ON}|
       TERM[OUT] {OFF|  ON  }|
       TI[ME] {  OFF  |ON}|
       TIMI[NG] {  OFF  |ON}|
       TRIM[OUT] {OFF|  ON  }|
       TRU[NCATE] {  OFF  |ON}|
       UND[ERLINE] {  -  |c|OFF|  ON  }|
       VER[IFY] {OFF|  ON  }|
       WRAP {OFF|  ON  }
      };
                                                Тип:   Команда SQL*Plus.
Описание:   Устанавливает значения системных переменных.
        "Системные переменные"  -   это  параметры,поддерживаемые
        ORACLE  или  SQL*Plus.Значение многих системных переменных
можно изменить командой SET и отобразить командой SHOW.
        Эта команда также присваивает параметрам SQL указанные значения.
        Основные параметры  SQL и их значения описываются ниже.Па-
раметры  SQL*Graph  описываются в "Руководстве пользователя
SQL*Graph".
                          ARRAYSIZE {20|  n  }
        Устанавливает число строк,которое можно взять из БД
одновремено.Число м.б.от 1 до 5000.Большее число
повышает  эффективность  запросов и подзапросов,выбирающих
много записей,но требует больше памяти в ОС
.ARRAYSIZE не влияет на результаты операций SQL*Plus.

                                     AUTO[COMMIT] {OFF|  ON  }

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

                                      BUF[FER] буфер

"буфер" становится текущим буфером .Первоначально  текущим
является буфер SQL.

                                     CMDS[EP] {;|  c  |OFF|  ON  }

"с" устанавливает символ,используемый  для  разделения ко-
манд SQL*Plus на одной строке.ON и OFF определяют,можно ли
вводить несколько команд на одной строке.

                                     CONCAT {.|  c  |  OFF  |ON}

Устанавливает символ,являющийся указателем того,что будет
использоваться  часть   переменной   пользователя.Команда
CONCAT ON устанавливает значение " ' ".

                                     COPYCOMMIT {0|  n  }

Команда COPY будет сохранять строки в соответствующей БД
каждый раз,когда скопирует указанное число  строк .
Число строк м.б.от 0 до 5000.Если установлен  0,то
сохранение будет производиться только после завершения  ко-
манды COPY.
                                     DCL[SEP] {!|  c  }

Устанавливает символ,используемый для разделения  несколь-
ких команд операционной системы,введенных в SQL*Plus.

                                     DEF[INE] {&|  c  |  OFF  |ON}|

"с" определяет символ,указывающий на  подставляемую  пере-
менную.ON и OFF разрешают или запрещают подстановку.

                                     DOC[UMENT] {  OFF  |ON}

ON разрешает команду DOCUMENT.OFF запрещает ее.Если коман-
да запрещена,то все строки,следующие за командой DOCUMENT,
интерпретируются как команды.
                                     ECH[OSET] {OFF|  ON  }|

ON включает эхо для команд,которые выполняются в командном
файле.OFF отключает эхо.
                                     EMBEDDED {OFF|  ON  }

OFF означает,что каждый отчет будет  начинаться  от начала
новой страницы.При ON отчет будет начинаться с любого мес-
та страницы.
                                     ESCAPE {  c  |OFF|  ON  }

"с" определяет ESCAPE-символ.OFF отменяет  этот символ.ON
устанавливает ESCAPE-символ как '\'.Если ESCAPE-символ оп-
ределен,то  его можно использовать,например,перед симво-
лом,объявленным в команде DEFINE,для обозначения того,что
такой  символ  является  обычным  символом.Например: если
ESCAPE-символ объявлен как '\',то результатом команды

                                          ACCEPT v1 'Enter \&1:'

будет сообщение
                                  Enter &1:

  FEED[BACK] {6|  n  |  OFF  |ON}

"n" заставляет SQL*Plus высвечивать число выбранных записей
при запросе в момент выбора n записей.ON и OFF включают или
отключают эту команду.При установке ON n устанавливается в
1.Установка n в 0 равнозначна установке OFF.

                                          FLUSH {  OFF  |ON}

OFF присоединяет терминал пользователя в качестве стандарт-
ного устройства вывода к  базовой  операционной системе.ON
заставляет  направлять  на   терминал   пользователя  вывод
SQL*Plus.OFF следует применять для командных файлов,рабо-
тающих не интерактивно,когда нет необходимости в выводимых
сообщениях.Чем меньше операций  ввода/вывода,тем быстрее
работает программа.

                                          HEA[DING] {  OFF  |ON}

ON заставляет SQL печатать заголовки столбцов в отчетах.OFF
отменяет эту операцию.

                                          HEADS[EP] {|  |c|OFF|  ON}

"c" устанавливает  символ  разделителя  заголовков,который
заставляет  SQL*Plus начинать новую строку заголовка,когда
он появляется в старых формах   BTITLE и TITLE .ON или OFF
включают и выключают разделитель заголовков .Когда разде-
литель заголовков выключен (OFF) ,символ разделителя заго-
ловков печатается так же,как любой другой символ.

                                          LIN[ESIZE] {80  |n}

Устанавливает число символов ,которые SQL*Plus будет отоб-
ражать в строке до начала новой строки.Также  контролирует
позицию отцентрированного и сдвинутого  вправо текста.Мак-
симальное значение n равно 500.

                                                  LONG {80  |n}

Устанавливает максимальную ширину для отображения и копиро-
вания величин типа LONG.Допустимые значения от 1 до 32767.

                                                  MAXD[ATA] n

Устанавливает максимальную ширину строки,которую может об-
рабатывать SQL*Plus .Умолчание и максимальное  значение  n
различны для разных ОС.См." Руководство
пользователя и установка ORACLE " для уточнения деталей.

                                                  NEWP[AGE] {1|  n  }

Устанавливает число пустых строк,печатаемых  между  нижним
заголовком одной страницы и  верхним  заголовком  следующей
страницы.Значение,равное 0,заставляет SQL*Plus  выво-
дить между страницами символ перевода страниц; это означает
очистку зкрана для большинства типов терминалов.

                                                  NULL текст

Устанавливает текст,который SQL*Plus отображает для предс-
тавления пустой величины.NULL без указаения  "текста"  по-
буждает SQL*Plus выводить пробелы.

                                                  NUMF[ORMAT] текст

Устанавливает формат,использующийся по умолчанию для вывода
на экран числовых элементов данных.См.описание предложения
FORMAT команды COLUMN для числовых форматов."текст" должен
указывать числовой формат.

                                                  NUM[WIDTH] {10|  n  }

Устанавливает ширину,использующуюся по умолчанию для отоб-
ражения числовых величин.

                                                  PAGES[IZE] {14|  n  }

Устанавливает число строк в странице.Для печати отчетов на
бумаге длиной 11 дюймов,значение 54 (плюс значение NEWPAGE,
равное 6) оставляет 1 -дюймовый промежуток до и после стра-
ницы текста.

                                                  PAU[SE] {OFF|  ON|текст  }

ON заставляет SQL*Plus ожидать пока вы нажмете [Return] для
отображения новой страницы  выходных данных.OFF  запрещает
ожидание."текст" определяет текст,который SQL*Plus должен
вывести на экран перед паузой.

                                                  SCAN {  OFF  |ON}

OFF запрещает обработку подстановки переменных.ON - разрешает.

                                                  SHOW[MODE] {OFF|  ON  }

ON заставляет SQL*Plus отображать старую и  новую установку
параметров SQL при изменении их с помощью SET.OFF побуждает
SQL*Plus не отображать подобных значений.

                                                  SPA[CE] {1|  n  }

Устанавливает число пробелов между столбцами в отображаемой
таблице.Максимальное значение n равно 10.

                                                  SQLC[ONTINUE] {`>`|  символы  }

Устанавливает последовательность символов,выводящихся в ка-
честве подсказки для продолжения командной строки SQL*Plus.

                                                  SQLN[UMBER] {  OFF  |ON}

ON устанавливает,что для второй и последующих строк коман-
ды SQL подсказкой будет N строки.OFF позволяет изменять
подсказку через SQLPROMPT.

                                                  SQLPRE[FIX] {#|  c  }

Устанавливает символ префикса SQL.В то время,как вы вводи-
те команду  SQL*Plus  за подсказкой  SQL>,вы можете на от-
дельной строке ,которой  предшествует символ префикса SQL,
ввести команду SQL.SQL будет выполнять команду SQL,не за-
висимо от того,что введена команда SQL*Plus.

                                                  SQLP[ROMPT] {SQL>|  текст  }

Устанавливает подсказку команды SQL,которая выводится,если
SQLNUMBER выключен (OFF).

                                              SQLT[ERMINATOR] {;|  c|OFF  |ON}

Устанавливает символ,использующийся для завершения команды
SQL.OFF означает,что отменяются все символы окончания ко-
манды SQL; пользователь заканчивает команду SQL,вводя пус-
тую строку.ON устанавливает символ окончания в значение по
умолчанию (';'),даже если системная переменная уже включе-
на (ON).

                                              SUFFIX {SQL|  текст  }

Устанавливает использующееся по умолчанию расширение  имени
файла которое SQL*Plus использует  в командах ,ссылающихся
на командные файлы .Например ,если вы выполняете команду
" SET SUFFIX UFI " ,затем команду "GET EXAMPLE" ,SQL*Plus
будет   загружать   файл   с  именем   EXAMPLE.UFI   вместо EXAMPLE.SQL.

                                              TAB   {OFF|ON}

OFF заставляет SQL*Plus  использовать  символ табуляции для
форматирования абзаца в выходных данных.ON  заставляет SQL
для этого использовать пробелы.Значение для ТАВ по умолча-
нию является системно-зависимым.Введите SHOW TAB для того,
чтобы посмотреть значение по умолчанию для вашей системы.

                                          TERMX[OUT] {  OFF  |ON}

OFF запрещает отображение выходных данных,генерируемых ко-
мандами,выполняющимися из файла,в  результате чего  вывод
м.б.буферизован без размещения на экране .ON разре-
шает отображение выходных данных.

                                          TI[ME] {OFF|  ON  }

ON заставляет SQL*Plus отображать текущее время перед  каж-
дой командной подсказкой.OFF запрещает отображение времени.

                                          TIMI[NG] {OFF|  ON  }

ON заставляет SQL*Plus выдавать временную статистику по вы-
полнению каждой команды SQL .OFF отменяет учет времени для
каждой команды.

                                          TRIM[OUT] {  OFF  |ON}

ON заставляет SQL*Plus отсекать пробелы в конце каждой  вы-
водимой строки.Это может привести к значительному увеличе-
нию скорости операций по выводу строк .OFF разрешает отоб-
ражение завершающих  пробелов.TRIMOUT ON не привязан к бу-
ферному выводу;  он игнорируется,если не установлется SET TAB ON.

TRU[NCATE] {OFF|  ON  }

TRUNCATE  является  противоположностью  WRAP,то есть ,SET
TRUNCATE ON эквивалентно SET WRAP OFF и наоборот.Предпочти-
тельней использовать WRAP,так как команда  SHOW распознает
WRAP и не распознает TRUNCATE.

  UND[ERLINE] {-|  c|ON  |OFF}

"c" устанавливает символ,использующийся  для подчеркивания
заголовков столбцов в отчетах SQL*Plus.ON или OFF включают
и выключают подчеркивание,независимо от значения "с".

  VER[IFY] {  OFF  |ON}

ON заставляет SQL*Plus выводить текст командной строки до и
после замещения указателей подставляемых переменных действи-
тельными величинами.OFF отменяет вывод.

  WRAP {  OFF  |ON}

OFF  отсекает отображаемые  элементы  данных,если их длина
больше ширины текущей строки.ON разрешает элементам данных
"переноситься" на следующую строку.
        Используйте фразы WRAPPED и TRUNCATED команды COLUMN,чтобы
отменить установки WRAP для описанных столбцов.
        Примеры: Чтобы заставить SQL*Plus выводить  N/A для пустого
значения,введите:
                 SQL > SET NULL 'N/A';

Чтобы заставить SQL отображать числовые столбцы с 20 символами,когда это не
определено командой COLUMN,введите:
                                         SQL > SET NUMWIDTH 20;

Чтобы заставить SQL делать паузу перед отображением каждой новой страницы вы-
ходных данных,введите:
                         SQL > SET PAUSE ON;

Чтобы установить символ префикса SQL в '-' и затем  использовать его для выпо-
лнения команды SQL во время ввода команды SQL*Plus,введите:

         SQL > SET SQLPREFIX -;
         SQL > COLUMN SAL ALIAS SALARY
          2 -SELECT * FROM EMP FOR ENAME='JONES';

EMPNO ENAME   JOB       MGR HIREDATE      SAL   COMM DEPTNO
-----------------------------------------------------------
7566  JONES   MANAGER  7839 02-APR-81    2975            20

          3 FORMAT 9999;
         SQL >

                                  SHOW
SHO[W] {HELP|?};

SHO[W] {ALL | BTI[TLE] | LNO | PNO | REL[EASE] | SPOO[L] |
    SQLCODE | SQLERRM | TTI[TLE] | USER |
    опция};
                                                      Тип:   Команда SQL*Plus.
Описание:   Отображает значение параметра SQL.

                                Первая форма
        Эта форма отображает список основных опций SHOW.Опции SHOW
для SQL*GRAPH см.в " SQL*Graph.Руководство пользователя."

                                Вторая форма
        Вторая форма отбражает состояние указанных опций  SHOW.ALL
отображает состояние всех опций SHOW.
        BTITLE показывает определение BTITLE.
        LNO показывает N текущей строки (позицию в текущей стра-
нице экрана или буферного вывода).
        PNO показывает N текущей страницы.
        RELEASE показывает N редакции для этой  версии ORACLE .
        SPOOL показывает является ли текущий вывод буферизованным .
        SQLCODE показывает значение SQL.SQLCODE ( то есть код возв-
рата последней выполненной операции SQL ) .
        SQLERRM показывает  значение  SQL.SQLERRM  ( то  есть текст
ошибки,описанный с помощью SQL.SQLCODE ) .
        TTITLE показывает определение TTITLE .
        USER показывает ваш идентификатор пользователя ID .
        WRAP показывает состояние WRAP/TRUNC .
        "опция" м.б.любой опцией SET,исключая TRUNC (Состоя-
ние TRUNC отображается с помощью SHOW WRAP) .
        Пример: Для отображения значения LINESIZE (длины текущей строки),вве-
дите:
         SQL > SHOW LINESIZE;

SQL ответит сообщением,подобным следующему:
                                                 linesize 80

                                SPOOL
SPO[OL] [имя_файла|OFF|OUT];
                                                Тип:   Команда SQL*Plus.
Описание: Управляет буферизацией ( копированием ) выходных
данных в системный файл или на системное устройство печати.
        "имя-файла"  заставляет SQL начинать буферизацию отображае-
мых выходных данных в указанный файл.Если тип файла не за-
дан,SPOOL добавляет значение типа файла,использующееся по
умолчанию,которое  зависит от ОС  вашей
рабочей ЭВМ ( .LST  или .LIS для большинства систем).
        OFF заставляет SQL остановить буферизацию.
        OUT заставляет SQL остановить буферизацию,а  также  выпол-
нить печать файла.
        SPOOL без фразы отображает имя текущего,или использующего-
ся последним,буферного файла.
        Для буферизации вывода без отображения на экране  использу-
ется SET TERMOUT OFF.
          Примеры:  Чтобы начать запись отображаемых данных в файл с именем
DIARY,с типом файла по умолчанию,введите:
                                            SQL > SPOOL DIARY;

Чтобы закрыть и распечатать файл,введите:
                                            SQL > SPOOL OUT;

                                SQLPLUS
SQLPLUS [-SILENT] [имя_польз[/папроль][@база_данных]]
SQLPLUS [-SILENT] @имя_файла
SQLPLUS [-SILENT] /NOLOG
SQLPLUS-?
                  Тип:  Системная команда(вводится после системной подсказки).
Описание:   Стартует SQL*Plus.
        Если вы вводите "имя_польз" или "папроль",SQL*Plus  регис-
трирует вас с этим именем пользователя и паролем.
        Если вы вводите "@база_данных",SQL*Plus использует назван-
ную БД  вместо стандартной БД ORACLE,ус-
тановленной в вашей системе."база_данных" может находиться
как на вашем рабочем компьютере,так и на другом,подключен-
ном к ва
шему через сеть SQL*NET.Между "имя_польз" и "база_данных" не д.б.пробела.
        Для получения дальнейшей информации об SQL*NET см."SQL*NET.
Руководство пользователя" .
        Если вы ввели  "@имя_файла" ,SQL*Plus  запускает командный
файл SQL,определенный в "имя_файла".Вы должны указать имя
пользователя и пароль в первой строке файла "имя_файла".SQL,
например:

         SCOTT/TIGER
         SET TERMOUT OFF
         SET FEEDBACK OFF
         ...........

'-SILENT' подавляет все информационные и  запрашивающие со-
общения SQL*Plus ,включая командную  подсказку ' SQL > ' и
названия программ,которые обычно отображаются во время за-
пуска SQL*Plus .Это используется для того ,чтобы сделать
вызов SQL*Plus другими программами невидимым для  пользова-
теля.
        /NOLOG заставляет  SQL*Plus  стартовать ,но не производить
вашу регистрацию.
        '-?' заставляет SQL*Plus  отобразить N текущей версии,а
затем передать управление ОС.
        Примеры: Для запуска  SQL*Plus с именем пользователя  SCOTT
и паролем TIGER,введите:
                                 $ SQLPLUS SCOTT/TIGER

Чтобы запустить SQL*Plus с именем пользователя  SCOTT ,па-
ролем TIGER и сделать БД  POLICY  используемой  по
умолчанию,введите:
                                 $ SQLPLUS SCOTT/TIGER@POLICY

Чтобы запустить SQL*Plus с именем пользователя  SCOTT ,па-
ролем TIGER и выполнить командный файл STARTING.SQL,введи-
те:
         $ SQLPLUS SCOTT/TIGER @STARTING

                                    START
STA[RT]файл[oпция ...опция]
                                                Тип:   Команда SQL*Plus.
Описание: Выполняет  содержимое  специфицированного файла .
Файл может содержать все команды,которые выполняются в ди-
алоговом режиме.
        START предполагает что "файл" имеет тип файла,определенный
по умолчанию (обычно .SQL),если тип файла  не включен явно
в "файл".
        Если вводятся одна или  несколько oпций   ( не обязательных
параметров),то они подставляются в "файле" только для этого
конкретного выполнения .Первый  параметр  заменяет  каждое
вхождение '&1',второй заменяет каждое вхождение '&2',и т.д.
        Пример: Файл с именем PROMOTE.SQL,предназначенный  для вы-
бора указанных служащих,мог бы содержать команду:

          SELECT * FROM EMP
          WHERE    MGR=&1 AND JOB='&2' AND SAL>&3;

Для выполнения этого командного файла вы могли бы ввести:

         SQL> START PROMOTE 7280 CLERK 950;

что приведет к выполнению описанной ниже команды:

         SELECT * FROM EMP
         WHERE    MGR=7280 AND JOB='CLERK' AND SAL>950;

                                     TIMING
TIMI[NG][START текст|STOP|SHOW];
                                                Тип:   Команда SQL*Plus.
Описание: Производит анализ эффективности команд  SQL и ко-
мандных файлов.
        START создает область хронометрирования с заголовком "текст".
Одновременно может существовать  несколько  областей хроно-
метрирования.Одна из них ,созданная самой последней и ко-
торая еще не уничтожена ,является  текущей областью хроно-
метрирования.
        Каждый раз,когда SQL выполняет команду,он прибавляет вре-
мя выполнения команды ко времени,хранящемуся в текущей об-
ласти хронометрирования.
        SHOW выводит заголовок текущей  области хронометрирования и
время.
        STOP отображает заголовок текущей области хронометрирования
и время ,а затем уничтожает эту область .Если существуют
другие области хронометрирования,то из них выбирается пос-
ледняя из созданных,и она опять становится текущей областью
хронометрирования.
        Для получения информации  о  выводимых  TIMING  данных  см.
"SQL*Plus .Установка и руководство пользователя" для вашей ОС.
        Примеры: Для создания области  хронометрирования  с  именем
SQL_AREA,введите:

         SQL> TIMING START SQL_AREA;

Для вывода заголовка  текущей  области хронометрирования  и
накопленного времени,введите:

         SQL> TIMING SHOW;

Для  вывода  заголовка  текущей  области  хронометрирования
накопленного  времени  и  для  последующего  удаления  этой
области ,введите:

         SQL> TIMING STOP;

                                TTITLE
TTI[TLE] [спецификация|OFF|ON];
TTI[TLE] текст;
                                                Тип:   Команда SQL*Plus.
Описание: Заставляет SQL*Plus выводить заголовок над каждой
страницей выходных данных.
        Подобная ей команда BTITLE определяет,что заголовок должен
выводиться в конце каждой страницы выходных данных.

                                Первая форма
        "спецификация" определяет заголовок .Он  интерпретируется
точно так же ,как во фразе BTITLE .
        OFF и ON выключают и включают вывод заголовока  не влияя на
содержание заголовока .
        TTITLE без фраз отображает текущее состояние TTITLE .

                                Вторая форма
        Эта форма TTITLE обеспечивает совместимость с UFI (предшес-
твенник SQL*Plus) и не  м.б.использованна  в новых
версиях.Она определяет,что верхним заголовком д.б.
строка содержащая  в  левой части  N страницы,в правой
части дату,следующая за ней строка содержит отцентрирован-
ный "текст" и еще одна следующая строка д.б.пустой.
Используйте символ HEADSEP ( обычно'|')  для  начала  новой
строки в  заголовке.Команда  SET HEADSEP  изменяет символ
HEADSEP.
        Примеры:   Для определения верхнего заголовка,который содер-
жит " Monthly Analysis " в левой части,дату в правой части
и фразу "Data in Thousands" полужирным шрифтом,выравненную
по центру в следующей строке,введите:

      SQL> TTITLE LEFT 'Monthly Analysis' RIGHT '11 Mar 86'
         > SKIP CENTER BOLD 'Data in Thousands';

Для отмены вывода верхнего заголовка без изменения его  оп-
ределения ,введите:

         SQL> TTITLE OFF;

                                UNDEFINE
UNDEF[INE] переменная;
                                                Тип:   Команда SQL*Plus.
Описание: уничтожает определение переменной  пользователя ,
указанной в "переменной" ,которая была определена командой
DEFINE или оператором ':='.
        Пример: Для уничтожения  описания переменной  пользователя,
имеющей имя POS,введите:

         SQL> UNDEFINE POS;

                                UPDATE
UPDATE таблица [псевдоним]
  SET колонка=выражение,колонка=выражение,...
   [WHERE условие];

UPDATE таблица [псевдоним]
  SET (колонка,колонка...)=(подзапрос)
   [WHERE условие];
                                                  Тип:   Команда SQL.
  Описание:   Изменяет содержимое полей  в  указанной  таблице.
Соответствующий подзапрос для ссылки на таблицу  может  ис-
пользовать псевдоним.
        Фраза SET определяет  какие столбцы изменяются и какие зна-
чения  записываются в них.Фраза WHERE,если  она указана,
определяет строки,в которых изменяются столбцы.Если фраза
WHERE не указана - изменяются все строки.
        Для каждой строки,удовлетворяющей фразе WHERE ,столбцы из
левой части оператора равенства во фразе SET принимают зна-
чения соответствующих выражений из правой части.Выражения
вычисляются в контексте изменяемой строки ( если,например,
выражение содержит значения других столбцов ).Если один из
элементов  фразы SET содержит подзапрос ,он должен возвра-
тить ровно одну строку ,и значения фразы SELECT присваива-
ются  столбцам из списка в круглых скобках ( круглые скобки
отсутствуют если список состоит только из одного столбца ).
Фраза SET  может включать присваивания  содержащие и не со-
держащие подзапросов.
        Примеры: Для установки пустого значения поручений всех слу-
жащих,для которых столбец JOB содержит 'TRAINEE',введите:

         SQL> UPDATE  EMP
           2  SET     COMM = NULL
           3  WHERE   JOB = 'TRAINEE';

Для переквалификации служащего 7934 на должность заведующе-
го отделом 20 с повышением заработной платы на $1.000,введите:

     SQL> UPDATE  EMP
       2  SET     JOB = 'MANAGER' ,SAL=SAL+1000,DEPTNO=20
       3  WHERE   EMPNO = 7934;

Приведенная ниже команда SELECT показывает,как 2 формы
SET м.б.смешаны в одной команде:

  SQL> UPDATE  EMP E
    2  SET     DEPTNO = (SELECT DEPTNO
    3                    FROM DEPT
    4                    WHERE LOC= 'DALLAS'),
    5      (SAL,COMM) = (SELECT 1.1*AVG(SAL),1.5*AVG(COMM)
    6               FROM EMP.DEPT
    7               WHERE EMP.DEPTNO = DEPT.DEPTNO
    8               AND   EMP.DEPTNO =  E.DEPTNO)
    9  WHERE DEPTNO IN  (SELECT DEPTNO
    10                    FROM DEPT
    11                    WHERE LOC='DALLAS'
    12                    OR    LOC='DETROIT');

                                VALIDATE INDEX
VALIDATE INDEX индекс [ON таблица] [WITH LIST];
                                                        Тип:   Команда SQL.
Описание: Проверяет  целостность указанного  индекса в ука-
занной таблице.
        "ON таблица",если указано,позволяет команде контролировать
существование указанного индекса в указанной таблице.
        "WITH LIST" сохраняет информацию об индексе в файле трасси-
ровки .Его использование необходимо только в случае,когда
этого требуют администраторы ORACLE .
        Если индекс правильный ,команда выводит "Index validates".
Если она выводит любое другое сообщение ,значит с индексом
что-то  не в  порядке ; вы должны  будете изложить проблему
администратору ORACLE.
        Примеры: Для проверки целостности индекса с именем ROSEBUD,
введите:

         SQL> VALIDATE INDEX ROSEBUD;

                                СПИСОК ОПЕРАТОРОВ
() оператор
'  оператор
"  оператор
*  оператор
@
   В команде SELECT
   В команде CONNECT
   В команде SQL*Plus
   Запуск командного файла
   В команде COPY
/
   Запуск текущего буфера SQL
   Оператор деления
#  Завершение команды документирования
&,&& Для подставляемых переменных и параметров
-
   Для продолжения SQL*Plus
   Оператор вычитания SQL*Plus
+
   Оператор сложения SQL
   Унарный оператор знака
   Оператор внешнего соединения
|
   Значение HEADSEP по умолчанию
|| Оператор SQL
=,!=,<,>,<=,>= операторы

+                          СЛОВАРЬ ТЕРМИНОВ
        Автоматическое внесение изменения (Autocommit): Особенность
SQL*Plus,которая позволяет вносить изменения в БД
после выполнения каждой команды.Этот режим устанавливается
командой SET AUTOCOMMIT ON.
        Администратор БД (Database Administrator): Пользо-
ватель ORACLE,имеющий право  давать и  забирать привелегии
доступа к системе другим пользователям,изменять  параметры
ORACLE для всех пользователей и выполнять другие  админист-
раторские функции.Обычно "DBA".
        ASCII: Соглашение об использование цифровых данных для пре-
дставления печатных символов .ASCII-это сокращение полного
названия: "Американский стандартный код для обмена информа-
цией"(American Standart Code for Information Interchange) .
        Аргумент (Argument): Выражение внутри скобок функции,предо-
ставляет  функции  значения,с которыми она будет работать.
Также  элемент данных,следующий за именем командного файла
в команде START; его значением заменяются переменные коман-
дного файла.
        База данных (Database): Область памяти на диске ,состоящая
из одного или нескольких разделов ,в которой ORACLE хранит
таблицы,экранные формы и  другие объекты; также  множество
объектов,хранимое в этой области.
        Блок (Block): Единица памяти для хранения БД ,ко-
рую ORACLE использует при  распределении места для таблиц и
индексов .Размер блока  различен для  разных операционных
систем.Обычно размер блока равен 512 байт ( символов ) или
2048 байт.Размер блока для вашей системы указывается в ру-
ководстве по установке ORACLE.
        Блокировка (Lock): Ограничивает доступ к данным других поль-
зователей; таким образом,изменения  м.б.проведены
без нарушения целостности  БД.Такое ограничение,
накладываемое на информацию,называется блокировкой.ORACLE
имеет следующие  виды блокировок:  SHARE ,SHARE ,UPDATE,
EXCLUSIVE и блокировка определения данных.
        Блокировка с разделенным обновлением (SHARE UPDATE Lock):
Блокировка данных,при которой другим пользователям  разре-
шается производить запрос и осуществлять блокировку данных.
        Блокировка  указателя  (Table Definition Lock) : Блокиров-
ка,которая мешает другим пользователям получать любые ви-
ды доступа к таблице во время изменения таблицы (например,
с помощью ALTER TABLE).
        Буфер (Buffer): Область,в которой  ORACLE хранит одну или
более команд,которые в настоящий момент вводятся,редакти-
руются или выполняются.
        Буфер SQL (SQL Buffer) :  Буфер  содержит  последнюю выпол-
нившуюся команду SQL и/или ту,которая будет выполнена сле-
дующей.
        Буферизация (Spooling): Процесс записи отображаемого на эк-
ране вывода в буферный файл.Буферизацией управляет команда
SPOOL.
        Буферный файл (Spool): Область  дисковой памяти ,в которой
хранятся выводные данные для печати.
        Вершина (Node): Единица данных в древовидной структуре дан-
ных.В таблицах древовидной структуры каждая строка являет-
ся вершиной.В сети это узел,куда подключается компьютер.
        Вершины с одним родителем (Sibling): В древовидной структу-
ре данных,две вершины,имеющие одну и  ту  же родительскую
вершину.
        Ветвь (Branch): Вершина дерева со  всеми ее "детьми","вну-
ками" и "потомками".
        Виртуальный столбец (Virtual Column): Столбец,значение ко-
торого в результате запроса вычисляется с  помощью значений
других столбцов.
        Вложенность (Nesting): Размещение одной  фразы,запроса  и
т.п.внутри другой фразы такого же типа.Когда один подзап-
рос SQL*Plus используется внутри предложения другого,гово-
рится,что внутренний подзапрос вложен во внешний.
        Внешнее соединение (Outer Join):  Соединение,при котором в
соединенной таблице  сохранены  строки,не  соответствующие
критерию.Каждая сохраненная строка  подсоединена  к мнимой
строке другой таблицы,в которой все поля являются пустыми.
        Вносить изменения (Commit): Сохранять  (делать постоянными)
изменения,произведенные в таблицах БД.
        Возможная строка (Candidate Row):  Выбранная главным запро-
сом строка,значения полей которой  используются в выполне-
нии соответствующего подзапроса.
        Выражение(Expression): Один или более элементов данных  ко-
манды,объединенных операторами или функциями .Во время вы-
полнения команды  SQL*Plus  вычисляет выражение (определяет
его значение).Примером выражения является столбец,описан-
ный в команде:

         SELECT 2*(DEFECTS+1)
         FROM QUALITYCTRL
         WHERE DEFECTS>0;

        Главный запрос (Main Query): Самый внешний запрос (тот,ко-
торый выдает результаты)  в запросе,содержащем подзапросы.
В команде

         SELECT * FROM EMP WHERE DEPTNO IN
         (SELECT DEPTNO FROM DEPT WHERE
         DNAME='ACCOUNTING')

главным запросом является:

         SELECT * FROM EMP WHERE DEPTNO IN.

        Груповая функция (Group Function):  Функция,оперирующая со
столбцом или  выражением во всех строках,выбранных запро-
сом,или с группой строк,выбранных запросом,и вычисляющая
из них  какое-то одно значение.Примером групповой функции
является AVG в команде:

         SELECT AVG(SAL) FROM EMP WHERE JOB='SALESMAN';

которая вычисляет среднее значение SAL для  всех  продавцов
из таблицы EMP.
        Дата (Date): Один из типов данных ORACLE.Столбец типа Date
может содержать дату и время,находящиеся  в  пределах от 1
Января 4712 г.ВС (до н.э.) до 31 Декабря 4712 г.AD.(н.э.).
        Длинный (Long):  Один из типов данных ORACLE.Столбец типа
LONG может содержать любые печатные символы,такие,как 'A',
'3','&' или 'пробел'.Его длина может находится в пределах
от 0  до  65535  символов.В таблице м.б.определен
только один столбец типа LONG.Столбец типа LONG не  может
использоваться в аргументах функций,выражениях или  фразах
WHERE и имеет некоторые другие ограничения.
        Заголовок (Heading):  Часть текста,появляющаяся над столб-
цом для указания имени или для описания столбца.
        Запись (Record): Более старый термин,означающий то же,что
и "строка".
        Запись 16-ричная (Hexadecimal Notation): Система счисления,
использующая в качестве базы число 16.Для   представления
цифр от 10 до 15  используются буквы от 'А'до 'F'.Шестнад-
цатиричная запись часто используется для представления вну-
треннего (исходного) значения данных,хранящихся в  компью-
тере.
        Запрос (Query): Инструкция для SQL,которая выбирает инфор-
мацию из одной или более таблиц или экранных форм .Запросы
используются в двух контекстах: в команде SELECT и в  неко-
торых  фразах  отдельных  команд,таких ,как  CREATE TABLE
и DELETE.Примером запроса является:

         SELECT * FROM EMP WHERE SAL<1000;

Запрос со структурой дерева (Tree-Structured Query):Запрос,
в котором строки выбираются в порядке,определенном отноше-
ниями между некоторыми значениями из различных строк .При-
мером  древовидного запроса является:

         SELECT * FROM EMP CONNECT BY PRIOR EMPNO=MGR
         START WITH ENAME='KING';

Эта команда сначала выбирает строки со значением ENAME рав-
ными ' KING ' .Затем она выбирает все строки с полями MGR,
равными полям EMPNO для KING .Непосредственно после каждой
такой строки она выбирает  все  строки с полем MGR ,равным
для этих строк полю EMPNO и т.д.
        Зарезервированное слово (Reserved Word): Слово ,имеющее
специальное значение для SQL и SQL*Plus,поэтому оно не мо-
жет использоватся как имя объекта.
        Звуковой (Soundex): Метод для представления  звучания слова
в символьном виде .Звуковые коды  часто  используются  для
хранения фамилий в таком формате,что запрос будет находить
желаемую строку,даже если в нем неверны некоторые элементы
имени (например,ищется 'SMITH' и находится 'SMYTHE').
        Значение по умолчанию (Default): Фраза или значение параме-
тра,которое используется,если не определено альтернативное.
        Идентификатор строки (Row ID): Часть данных,которая одноз-
начно определяет строку таблицы ;также,тип данных ORACLE ,
использующийся  для  хранения  таких  частей.Идентификатор
строки м.б.выбран  командой  SELECT  с помощью псев-
до-столбца ROWID .Он м.б.преобразован  в символьную
форму и наоборот с помощью функций ROWIDTOCHAR,CHAETOROWID.
        Иерархия прерываний (Break Hierarchy): Порядок,в  котором
SQL*Plus  проверяет наступление событий и инициирует опера-
цию,соответствующую прерыванию.
        Имя пользователя (User Name): Слово,которое идентифицирует
вас,как зарегистрированного пользователя ORACLE или опера-
ционной системы вашей рабочей ЭВМ.С  каждым именем пользо-
вателя сопоставляется пароль,знание которого подтверждает ,
что вы являетесь законным владельцем  этого имени пользова-
теля.
        Имя пользователя ORACLE и его пароль (ORACLE User Name  and
Password): Имя пользователя  и  пароль,использующиеся  для
связи с  системой  управления  реляционными БД
ORACLE.См."Имя пользователя" и "Пароль".
        Индекс (Index): Объект БД,дающий возможность  по-
иска строки с определенным  значением  без  просмотра  всей
таблицы.Индекс имеет вход для каждого значения,найденного
в индексном поле (полях) таблицы,и указатель(указатели) на
строку (строки),имеющую (имеющие) это значение.
        Индекс кластера (Cluster Index):  Индекс ,который  ORACLE
строит на столбцах кластера из таблиц в кластере.
        Исходный (Raw): Один из типов данных ORACLE.Столбец  типа
Raw  содержит  двоичные  данные  в той форме,в которой они
хранятся в памяти ЭВМ.Столбцы типа Raw обычно используются
для хранения двоичных (несимвольных) данных.
        Итоговая строка (Summary line): Строка в отчете ,в которой
суммируются данные,выбранные из группы строк в таблице.
        Кластер (Cluster): Группа из двух или более таблиц,имеющих
одно или несколько идентично определенных полей,и совмест-
но использующих память на диске.
        Ключевой столбец (Key Column):  Столбец таблицы,в зависи-
мости от величины которого создается индекс.
        Команда (Command): Инструкция для SQL или SQL*Plus.Большин-
ство операторов SQL могут иметь  длину в  несколько строк и
оканчиваются точкой с запятой.Примеры операторов: SELECT ,
UPDATE и CREATE.Команды SQL имеют длину ,ограниченную од-
ной строкой и не  заканчиваются точкой  с запятой .Примеры
команд: PRINT,COLUMN и COMPUTE.
        Командная строка (Command Line): Строка  на  дисплее ,где
вам предлагается вводить команду.
        Командный файл (Command File): Файл ,содержащий команды ,
которые можно вводить в диалоговом режиме.
        Конкатенация (Concatenation): Объединение символьных  вели-
чин,изображаемое оператором '|| '.Например :  объединение
символьных  констант  ' ABC '  и  ' XYZ ' будет  обозначено
'''ABC||XYZ'''  и  в  результате  будет  получено  значение
'ABCXYZ'.
        Корень (Root): В древовидной структуре данных-начало дерева,
вершина,которая не имеет родителей и чьи "дети","внуки"  и
т.д.образуют все дерево.В запросе  древовидной структуры-
это строка,определяемая фразой  START WITH.
        Коррелятивный  подзапрос  (Correlated Subqury):  Подзапрос ,
который выполняется циклически  для  каждого  значения воз-
можной строки,выбранной главным запросом.Результат выпол-
нения каждого подзапрса зависит от значения одного или  бо-
лее полей в возможной строке; это значит,что подзапрос вза-
имосвязан с главным запросом.
        Курсор (Cursor): Светящийся знак на экране вашего  термина-
ла,указывающий место,где появится следующий введенный ва-
ми символ.
        Лист (Leaf): В древовидной структуре данных - запись,кото-
рая не имеет "дочерних" записей.
        Логический блок (Logical Block):  Единица памяти  для  базы
данных,которую  ORACLE использует при распределении прост-
ранства для строк в кластере с общими  значениями  столбцов
кластера.По  умолчанию логический блок имеет такой же раз-
мер,как и физический блок.Он м.б.уменьшен  фразой
SIZE  команды  CREATE CLUSTER; таким образом,2 или более
логических блока могут сохранятся в одном  физическом блоке.
        Логическое выражение (Logical Expression):  Выражение,зна-
чением которого м.б.или "ложь" или "истина".Фраза
JOB='SALEMAN' это простой пример логического выражения.Си-
нонимом является "условие".
        Локальная БД (Local Database): БД,с  ко-
торой связывается SQL*Plus,когда  вы его запускаете; обыч-
но это БД на вашей рабочей ЭВМ.См.также "Удален-
ная БД".
        Локальная блокировка (EXCLUSIVE Lock):  Блокировка,которая
позволяет другим пользователям запрашивать  данные,но  не
позволяет изменять их.Она отличается от разделенной блоки-
ровки тем,что не позваляет другим пользователям устанавли-
вать какие-либо типы блокировки данных; несколько пользова-
телей могут одновременно установить  разделенную блокировку
на одни и те же данные.
        Модель формата (Format Model):   Предложение ,управляющее
внешним видом  значения  в  строке отчета.Модель  формата
определяются предложением FORMAT в командах COLUMNS.Модели
формата для столбцов типа "дата" также используются в функ-
циях преобразования даты ,таких,как TO_DATE.
        Неэквивалентное соединение (Non Equi-Join):  Условие соеди-
нения,определяющее связь,отличную от равенства (=).
        Область хронометрирования (Timing Area): Внутренняя область
памяти,созданная командой TIMING,которая хранит информацию
о количестве времени,затраченном  на выполнение группы ко-
манд.
        Обрезать (Truncate): Усекать ; говорится  о  длинной  части
данного ,которая была укорочена или отображена в укорочен-
ной форме .О числовых данных говорится ,что они усечены ,
в том случае ,если произошло их округление.
        Обход дерева (Walking a Tree): Процесс просмотра по очереди
каждой вершины дерева.
        Общий (Public): Видимый или доступный для всех  пользовате-
лей .Общими  м.б.синонимы и связи БД.Объ-
ект,не являющийся общим,доступен только  пользователю,ко-
торый  его  создал.Создавать общие  объекты  могут  только
администраторы БД (DBA).
        Объект (Object): Нечто,хранящееся в БД.Таблицы,
экранные формы,синонимы,индексы и столбцы - все это  типы
объектов.
        Оператор (Operator): Символ или зарезервированное слово,ис-
пользуещееся в выражении для представления операции,напри-
мер,сложения или сравнения,выполняющейся  над  элементами
выражения.Примерами операторов являются:'*'(умножение),'>'
(сравнение 'больше чем')  и ANY (сравнивает значение с каж-
дым значением,возвращенным подзапросом).
        ОС (Operating System): Программа  компью-
тера,управляющая  его  ресурсами  и  служащая посредником
между аппаратной частью и программами,такими,как SQL*Plus.
        Определение пространства (Space Definition):  Объект БД
,определяющий набор параметров для размещения в па-
мяти таблиц и индексов.Таблица или индекс м.б.соз-
даны с указанным набором параметров для размещения в памяти
посредством ссылки  на  определение  пространства в команде
CREATE.
        Отмена (Roll Back): отменить изменения,сделанные в  табли-
цах БД.
        Отчет (Report): Результат выполнения команды SELECT,отфор-
матированный с помощью таких команд,как COLUMN и  COMPUTE.
        Параметр (Parameter): Имя столбца,выражение или константа.
Используется для уточнения действия команды.
        Пароль (Password): Слово,которое вы должны ввести при вхо-
де  в  ORACLE  или в ОС своей рабочей ЭВМ
для демонстрации того,что вы,как пользователь,соответст-
вуете требованиям системы.В SQL*Plus пароль вводится после
ввода имени пользователя ORACLE.
        Переменная (Variable): Именованный  объект ,который хранит
в себе одно значение .SQL*Plus имеет  дело с тремя видами
переменных:переменные пользователя ,подставляемые перемен-
ные и системные переменные.
        Переменная пользователя (User Variable): Переменная,опреде-
ленная  пользователем  посредством команды SQL*Plus,такой,
как DEFINE.
        Перенос (Wrapping) : Перемещение  конца  заголовка или поля
на новую строку в том случае,когда их длина настолько боль-
шая,что одной строки для их размещения не хватает.
        Подзапрос (Subquery): Запрос ,который используется в круг-
лых  скобках  во  фрвзах  команд  SQL или SQL*Plus .Приме-
ром подзапроса является заключенное в круглые  скобки выра-
жение в следующей команде:

         SELECT * FROM EMP WHERE NOT EXISTS
         (SELECT * FROM DEPT WHERE DEPTNO=EMP.DEPTNO);

Запрос ,который  используется  во  фразе   команды ,но не
нуждается в круглых скобках ,не является подзапросом .При-
мерами команд ,использующих  запросы таким путем,является
CREATE TABLE (фраза AS) и COPY (фраза USING).
        Подсказка (Prompt): Сообщение ,поступившее  от  программы
компьютера и указывающее на  необходимость ввода данных или
выполнение каких-то других действий.
        Подставляемая переменная (Substitution Variable): Имя пере-
менной или число,которому предшествует амперсанд ('&').Ис-
пользуется в командном файле  для  представления  величины,
которая будет введена во время выполнения командного файла.
        Поле (Field):  Часть таблицы,содержащая один кусок данных.
Поле представляет собой пересечение строки и столбца.
        Порожденный (Child): В древовидной структуре данных- верши-
на,которая "принадлежит" другой вершине.Вершина ,которой
принадлежит порожденная вершина,называется "родительской".
        Прерывание (Break): Событие,которое происходит,когда SQL
выполняет запрос или отчет,как,например,изменение значе-
ния выражения.SQL может предусматривать выполнение некото-
рых действий,как,например,печать итогов,всякий раз,когда
происходит прерывание.
        Привилегия (Privilege): Любые операции,право использования
которых для определенной таблицы может предоставить  другим
пользователям создатель этой таблицы.ORACLE  признает сле-
дующие привилегии: ALTER ,DELETE ,INDEX ,INSERT ,SELECT,
и UPDATE.С  помощью  ALL  пользователь может передать все
имеющиеся у него привилегии.
        Примечание (Remark): Описание таблицы,состоящей из столбца,
которое сопоставляется с  ее  определением  в  словаре БД.
        Приоритет (Precedence): Порядок,в  соответствии  с которым
ORACLE производит выполнение операций в выражении.В выраже-
нии "2+3*Х",3*Х вычисляется первым ,затем прибавляется 2.
Это происходит потому,что умножение  (*)  имеет  приоритет
выше,чем сложение (+).
        Промежуточная сумма (Subtotal): Сумма  значений  в цифровом
столбце ,выполненная для группы строк ,имеющих одинаковые
значения в поле,управляющем прерыванием.
        Псевдоним (Alias): Временное  имя ,присваемое таблице или
столбцу  отчета и  используемое в  дальнейшем для ссылки на
них.
        Псевдоним таблицы (Table Alias): Псевдоним для имени табли-
цы,определенный во фразе FROM команды SELECT.
        Псевдо-столбец (Pseudo-Column): "Столбец" ,который,будучи
выбранным,возвращает значение,но в действительности не яв-
ляется частью таблицы,из которой ведется выборка.
        Пустая таблица (Dummy Table): Таблица,содержащая одну стро-
ку и один столбец,используемая в командах SELECT,на самом
деле выбирающих данные из псевдостолбцов(таких,как SYSDATE.)
Пустая таблица обычно называется DUMMY.
        Пустое значение (Null): "Значение" поля,которое означает:
"это поле не имеет значения".Запрос может выбирать или иг-
норировать  строки  с пустым  значением определенных полей.
Групповые функции обычно игнорируют пустые значения.
        Рабочая строка (Detail Line): Строка отчета,которая предс-
тавляет данные,выбранные из одной строки таблицы.
        Рабочая ЭВМ (Host): Компьютер,с которым работает ORACLE.
        Рабочая ЭВМ (Host computer): ORACLE и SQL*Plus могут выпол-
нятся на различных типах компьютеров.Тип  компьютера,на
котором вы работаете,можно называть вашей рабочей ЭВМ.
        Раздел (Partition): Файл или множество файлов,использующих-
ся для хранения данных ORACLE .БД ORACLE  состоит
из раздела SYSTEM и,возможно,других разделов.
        Разделенная блокировка (SHARE Lock): "Захват"  данных ,при
котором другим пользователям разрешается их использовать,но
не разрешается изменять.
        Родитель (Parent): В древовидной структуре  данных-вершина,
которой "принадлежат" другие вершины .Подчиненные  вершины
называются "детьми" родительской вершины.
        Санкционирование (Authorization): Перечень  операций,кото-
рые владелец  пользовательского  имени может  применять для
доступа к ORACLE.ORACLE обеспечивает следующие  права дос-
тупа: CONNECT,RESOURCE и DBA.
        Связь БД (Database Link): Объект,хранящийся в те-
кущей БД,который  идентифицирует  удаленную БД
,имя пользователя для этой БД и пароль для
этого имени пользователя .Однажды определенный ,может ис-
пользоваться для  выполнения  запросов к таблицам удаленной
БД.
        Сеанс (Session): События,происходящие в промежуток времени,
начиная от подсоединения  пользователя к  SQL и  заканчивая
его отсоединением.
        Сервисная программа (Utility Program): Программа ,которая
запускается командой ОС вашего  компьюте-
ра,и выполняет,функции связанные с ORACLE .Примером сер-
висной программы является  CCF ,которая создает  файл для
включения в раздел БД.
Сеть (Network): Соединение 2 или более различных компью-
теров,которое позволяет им напрямую обмениваться  информа-
цией.
        Сеть SQL*Net (SQL*Net): Дополнительное средство,работающее
с системой управления реляционными БД  ORACLE  и
позволяющее 2 или более компьютерам,на которых работает
ORACLE,обмениватся через сеть данными БД.
        Симв.(Char): Один из типов  данных  ORACLE .Столбец типа
Char может содержать любые печатные символы,такие,как 'А',
'3','&'или 'пробел'.Он может иметь длину от 0 символов
до максимального количества ,определенного для этого конк-
ретного столбца .Максимальная  длина для столбца типа Char
м.б.от 1 до 240 символов.
        Символ перевода страницы (Formfeed): Управляющий символ,при
печати которого принтер обязан  перейти в начало  следующей
страницы бумаги ("начало формы").Когда этот символ посту-
пает на  экран  дисплея,для большинства типов терминалов
производится очистка экрана.
        Синоним (Synonym): Имя,присвоенное таблице ,которое m.б.в дальнейшем
использовано  для ссылки  на эту таблицу.
Если  вы  имеете доступ к таблице другого пользователя ,вы
должны  создать для нее синоним и ссылатся на эту таблицу с
помощью одного только синонима,без ввода имени пользователя
в качестве префикса.
        Синтаксис (Syntax): Набор правил,определяющих способы пос-
троения корректных команд  в  языке програмирования,таком,
как  SQL*Plus.
        Система разделения времени (Timesharing System): Компьютер,
якобы разделенный между несколькими одновременно работающи-
ми пользователями; также,операционная система ,работающая
на таком компьютере.
        Система управления  реляционной БД (Relational
Database Management System): Компьютерная программа для хра-
нения и поиска данных,которая организует данные в таблицы,
содержащие одну или более единиц информации (строк),каждая
из которых содержит некоторый набор элементов данных (стол-
бцов ).ORACLE является системой управления реляционной БД.
        Системное имя пользователя и пароль (System User  Name  and
Password): Имя пользователя и пароль,использующиеся для вхо-
да в систему с разделением времени .См."Имя  пользователя"
и "Пароль".
        Системная переменная (System Variable):Величина,поддержива-
емая ORACLE или SQL*Plus для индикации  статуса и состояния
некоторых  данных о них .Многие  системные переменные мо-
гут быть отображены с помощью команды SHOW и / или установ-
ленны с помощью команды SET .Примером системной переменной
является LINESIZE,которая определяет число символов,выда-
ваемых SQL*Plus до начала новой строки.
        Слежение (Audit):Указывает ORACLE на ведение записей о раз-
личных аспектах его использования.Например,информация  об
обращениях к определенной таблице.
        Словарь БД (Date Dictionary): Набор экранных  форм
и таблиц,содержащих информацию об описаниях объектов в БД ORACLE.
        Соединение (Join): Используется в запросе для представления
частей строк одновременно двух или более таблиц.Также,яв-
ляется правилом,по которому строки одной таблицы  соединя-
ся со строками другой таблицы.
        Соединять (Connect): Идентифицировать себя для ORACLE с по-
мощью своего имени и пароля,получая при этом доступ к БД.
        Сообщение об ошибке (Error Message): Сообщение от программы
компьютера (например,SQL*Plus или операционной системы ра-
бочей ЭВМ ),информируещее вас о некоторых допущенных ошиб-
ках в данных,в команде или при работе компьютера.
        Составное условие (Set Condition): Логическое   выражение ,
содержащие запрос,например 'JOB IN (SELECT...)'.
        Спецификация БД (Database Specification): Алфавит-
но-цифровой код,определяющий БД ORACLE и использу-
ющийся для описания БД в операциях SQL*Net и в оп-
ределении связей БД.
        Столбец (Column): 1.Поля в таблице,имеющие один тип  дан-
ных.Например: поля,содержащие оклад,в таблице EMP,при-
водимой в примере.2.Поля,полученные с помощью запроса  и
имеющие один тип данных.
        Столбец кластера (Cluster Column): Одно  из полей  в группе
таблиц ,объединенных в кластер ,которое  используется для
определения места хранения строк этих таблиц.
        Столбец отчета (Report Column): Столбец,появляющийся в от-
чете.См."Столбец ".
        Столбец прерывания (Break Column): Столбец отчета ,который
вызывает прерывание при изменении своего значения.
        Столбец соединения (Join Column):   Столбец,использующийся
для соединения одной таблицы с другой.Вы определяете стол-
бец связи,используя его в предложении  WHERE,описывающем
условия соединения столбцов двух таблиц.
        Столбец таблицы (Table Column) : Столбец ,который появля-
ется в таблице .См."Столбец" (Column) .
        Страница (Page): 1.Полностью заполняющая экран порция  вы-
водных  данных  или  полный  лист печатных данных в отчете.
2.Единица дисковой памяти.См."Блок".
        Строка (Row): 1.Один набор  полей в  таблице; например,в
таблице ЕМР,приведенной в примере,это поля,представляющие
одного служащего.2.Один набор полей среди выходных данных
запроса.
        SQL: Основной  интерфейс  пользователя  ORACLE  для  записи
и поиска информации в БД.SQL является сокращением
для "Structured Query Language" (структурный язык запросов).
        Таблица (Table): Основная единица информации в системе  уп-
равления реляционной БД.Таблица состоит из одной
или более единиц информации (строк) ,каждая из которых со-
держит одинаковые типы значений (столбцы).
        Текстовой редактор (Text Editor): Программа ,выполняющаяся
под управлением ОС вашего компьютера,ко-
торая м.б.использована для создания и редактирования
системных файлов и команд SQL*Plus.
        Текущий буфер (Current Buffer): Буфер,который команды реда-
ктирования SQL*Plus будут использовать в данный момент вре-
мени.
        Текущая команда SQL (Current SQL Command): Команда  SQL   в
буфере SQL; в большенстве случаев ею является последняя вы-
полненная команда.
        Текущая строка (Current Line): Строка в текущем буфере ,с
которой команды редактирования SQL*Plus  связаны  в  данный
момент времени.
        Терминальная вершина (Terminal Node): В древовидной  струк-
туре данных - вершина ,не  имеющая "детей" .Также называ-
ется "leaf" (лист).
        Тип данных (Date Type): Любые формы данных ,которые ORACLE
может хранить и которыми может манипулировать.Основные ти-
пы данных ORACLE: Character ( символьный ),Date ( дата ) ,
Number (числовой).
        Тип файла (Filetype):  Часть имени файла,которая описывает
тип данных,хранящихся в файле.В большинсте ОС
тип файла отделяется от имени файла точкой.Например:
'EMPDATA.LST'.
        Титульная строка (Title): Строка,которая появляется вверху
или внизу каждой страницы отчета.
        Транзакция (Transaction): Группа  событий ,которые проис-
ходят между некоторым моментом времени и другим моментом,в
который пользователь подсоединяется к ORACLE,отсоединяется
от ORACLE ,записывает изменения в БД или произво-
дит отмену изменений.
        Тупик (Deadlock): Ситуация,в которой каждый из 2 пользо-
вателей имеет в монопольном использовании ресурс,необходи-
мый другому,для продолжения выполнения процесса .Примером
тупика является ситуация ,в которой 2 пользователя бло-
кируют различные таблицы,и затем каждый пытается использо-
вать таблицу,заблокированную другим.ORACLE имеет средства
для избежания и разрешения тупиков.
        Удаленная БД (Remote Database): БД,распо-
ложенная на удаленном компьютере ; в частности,та,которой
вы пользуетесь через связь БД.
        Удаленный компьютер (Remote Computer): Термин,использующий-
ся для ссылки на некоторый компьютер в  сети ,отличный  от
вашего собственного рабочего компьютера.
        Упорядоченная последовательность (Callation Sequence): Пос-
ледовательность символов ,в которой  каждый символ  д.б.или больше,или меньше
каждого следующего символа.Эти
последовательности используются для упорядочивания и выбор-
ки значений символьных полей .SQL*Plus использует упорядо-
ченные последовательности ASCII или EBCDIC в зависимости от
типа используемого компъютера.
        Уровень (Level): В древовидной структуре данных -число вер-
шин  между  данной вершиной и корнем .Запись,являющаяся
корнем,имеет уровень 1,ее дочерьние записи  относятся к
уровню 2 и т.д.
        Условие (Condition): Выражение,значением которого м.б.или 'true' (ис-
тина) или 'false'(ложь),например 'x<10'.
        Файл (File): Именованная область дисковой памяти,содержа-
щая  набор   взаимосвязанных  данных.Файлы управляются ОС
компьютера,однако ORACLE обладает некоторыми возможностями
для операций над файлами.
        Физический блок (Physical Block): Имя ,иногда используемое
для блока,чтобы отличать его от логического блока.
        Фраза (Clause): Зарезервированное слово,определяющее,что
должна делать команда .В некоторых случаях за ним  следует
значение.В команде:

         SELECT DISTINCT SAL ;

SELECT и FROM EMP являются фразами.

Функция (Function): Операция,выполняющаяся после указания в
выражении имени функции со следующими за ним круглыми скоб-
ками.Большинство функций требуют наличие одного  или  нес-
кольких аргументов  внутри скобок и используют значения ар-
гументов при выполнении операций.Примером  может  служить
функция,следующая после SELECT в команде:

         SELECT GREATEST(100,0,05*SAL) FROM EMP;

которая показывает наибольшее(или большее) из значений  ар-
гументов.
        Числовой (Number): Один из типов данных ORACLE.Столбец ти-
па NUMBER может содержать число,имеющее или нет десятичную
точку  и знак.Размер поля можно определить от  1  до  105
десятичных   цифр (однако,только 40 из них являются знача-
щими).
        Эквивалентное соединение (Equi-Join): Соединение,в котором
соединяемые предикаты равны; например,X=Y.
        Экранная форма (Viev): Объект  БД ,который  м.б.использован
в  большинстве случаев как таблица ,но в
действительности  получается  из  других  таблиц и экранных
форм ,и не занимает дисковой памяти .
        Экстент (Extent): Часть памяти,занимаемая таблицей или ин-
дексом,которая выделяется каждый раз при создании  таблицы
или индекса или после заполнения допустимой памяти.
        Ядро СУБД ORACLE (ORACLE RDBMS):  Система  управления реля-
ционными БД,распостроняемая ORACLE Corporation.
SQL*Plus - это отдельный  продукт,распостроняемый   ORACLE
Corporation для использования  с  системой управления реля-
ционными БД ORACLE.

KOAP Open Portal 2000