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





            SQL*Forms                        РУКОВОДСТВО  ОПЕРАТОРА

            (SQL*Forms Operator's Guide)     версия 3.0





      ORACLE
      ------------------------------------------------
      Реляционная Административная Система Базы Данных












































                                    -- 1 --



Руководство оператора по SQL*Forms   Версия 3.0
Серия N3301-V3.0 0789

Соавторы:Susan K.Jackson,Kathleen Gomoll
Автор:Chris Schock

Авторское право:Oracle Корпорация 1986,1989
Все права резервируются. Печатается в США
Об ограниченных правах
Использование, копирование или рассекречивание должны быть оговорены в
вашем контракте с Oracle Корпорацией.

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

Информация в этом документе может быть изменена без предупреждения. Если у
вас возникли какие-либо вопросы по документации, пожалуйста, напишите  нам
об  этом.  Oracle  Корпорация  не  гарантирует  отсутствие  ошибок  в этом
документе.

ORACLE и SQL*Forms зарегистрированы торговыми знаками Oracle Корпорации.


              В В Е Д Е Н И Е

   Это  руководство  научит  вас  работать  со   встроенными
   приложениями, используя  SQL*Forms. После  прочтения  этого
   руководства вы будете знать как выполнить cледующие задачи:
      - выполнить формы
      - использовать  клавиатуру  для  того,  чтобы  выбрать и отредактировать
        элементы формы
      - выбрать  записи  из  базы  данных  ORACLE, используя критерий поиска
      - ввести, модифицировать и удалить записи
      - записать транзакции в базе данных ORACLE

   Это   руководство  не  научит  вас  разрабатывать  или модифицировать формы. 
   вам SQL*Forms Designer's Reference или SQL*Forms Disainer's Tutorial.

Список  Документация  по  SQL*Forms  для  версии  3.0  состоит из документов
Вспомогательной  Системы  Дизайнера  и  следующих  пяти по SQL*Forms  ументов:
       - SQL*Forms Operator's Guide, версия 3.0, Oracle N3301-V3.0 0789
       - SQL*Forms Designer's Tutorial, версия 3.0, Oracle N3302-V3.0 0789
       - SQL*Forms Designer's Reference, версия 3.0, Oracle N3304-V3.0 0789
      - SQL*Forms Operator's Quick Reference, версия 3.0, Oracle N3704-V3.0 0789
      - SQL*Forms Designer's Quick Reference, версия 3.0, Oracle N3708-V3.0 0789

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

                           Круг               Предварительное
    Документ             читателей           чтение документов
    ----------------------------------------------------------Д
    Operator's Guide    новичок-оператор  Нет
    Designer's Tutorial новичок-дизайнер  Operator's Guide



                                    -- 2 --



    Designer's Help     новичок-дизайнер  Designer's Tutorial
    System

    Designer's          квалиф. дизайнер  Designer's Tutorial
    Reference

    Operator's Quick    квалиф. оператор  Operator's Guide
    Reference

    Designer's Quick    квалиф. дизайнера Designer's Tutorial
    Reference

Как           Это руководство  знакомит  вас с SQL*Forms с точки зрения
организовано  оператора. После  обзора  помещена  серия  упражнений  с
руководство   примечаниями, которая  демонстрирует  основные  процедуры,
              необходимые для выполнения встроенных приложений, используя
              SQL*Forms.

    Ниже представлены следующие основные разделы этой книги:

    Глава 1   Эта глава представляет обзор SQL*Forms.
    Глава 2   В  эту  главу  включены  как  основные  процедуры выполнения
              формы, так и некоторые частные шаги для выполнения
              демонстрационной формы, используемой  в этом руководстве.
    Глава 3   Эта глава показывает, как использовать форму для извлечения
              информации из базы данных ORACLE.
    Глава 4   Эта глава показывает, как перемещать курсор внутри формы.
    Глава 5   Эта  глава  демонстрирует  выполнение  простых запросов,
              удовлетворяющих определенному критерию, и сложных запросов,
              отвечающих нескольким условиям.
    Глава 6   Эта глава демонстрирует модификацию данных  в  базе данных.
    Глава 7   Эта глава содержит информацию о способах транзакций SQL*Forms.
    Включены также три справочных приложения, словарь и обширный каталог
    ссылок.

Как           Это руководство построено так, чтобы научить вас работать с
пользоваться  приложениями  SQL*Forms.  Для облегчения обучения включены
руководством  упражнения, базирующиеся  на  демонстрационной форме. Читая
              за  компьютером  руководство, предлагаем  вам  поработать с
              упражнениями и увидеть результаты на экране.

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

Соглашения,   В SQL*Forms Operator's Guide приняты следующие соглашения:
используемые
в руководстве
     - Имена  функциональных  клавиш появляются в квадратных скобках,
       например: [Следующее поле].  Посмотрите  на схему  вспомогательной
       клавиатуры, чтобы увидеть, как функциональные клавиши соответствуют
       клавишам на вашем терминале.

     - Текст, который отображается на экране, и текст, который вы  должны
       набирать  на  вашем  терминале,  выделяется специальным шрифтом:




                                    -- 3 --



Мы рады       Oracle Corporation знает  цену  хорошей документации. Одним
вашим         из способов совершенствования  наших  продуктов  является
пожеланиям    получение обратной связи на документацию.

     Пожалуйста,  сообщите  нам  ваши комментарии,  если  имеются, по  этому
     руководству или по любому другому из документов по SQL*Forms. Используйте
     Читательскую Форму для Комментариев, в  конце  этой  книги,  или  звоните
     по  тел.  415-598-8000 Руководителю Продукта SQL*Forms.



















































                                    -- 4 --




              С О Д Е Р Ж А Н И Е

Глава 1       Обзор .................................................. 1-1
              Требования к установке ................................. 1-2
                 Установка демонстрационной базы данных .............. 1-2
              Что такое Форма? ....................................... 1-3
              Формы и база данных ORACLE ............................. 1-4
                 Рабочая область ..................................... 1-5
              Экранный формат ........................................ 1-5
                 Линия сообщений ..................................... 1-6
                 Линия состояния ..................................... 1-6
              Схема клавиатуры ....................................... 1-6
                 Использование мыши в SQL*Forms ...................... 1-7
              Подтверждение готовности ............................... 1-7
              Справочная информация .................................. 1-8
                 Дополнительная помощь ............................... 1-8

Глава 2       Выполнение Формы ....................................... 2-1
              Выполнение Формы ....................................... 2-2
              Доступ к Демонстрационной Форме ........................ 2-3
              О Демонстрационной Форме ............................... 2-4
              Завершение сеанса редактирования ....................... 2-4

Глава 3       Выполнение запроса ..................................... 3-1
              Когда делать запрос в базу данных ...................... 3-2
              Выборка всех записей ................................... 3-3
Глава 4       Перемещение в форме .................................... 4-1

              Перемещение от блока к блоку ........................... 4-2
              Перемещение от записи к записи ......................... 4-2
              Перемещение от поля к полю ............................. 4-5
                 Перемещение в пределах поля ......................... 4-6

Глава 5       Извлечение выбранных записей ........................... 5-1
              Сравнение точных значений .............................. 5-2
                 Использование сравнения с образцом .................. 5-5
              Введение множества условий ............................. 5-5
              Использование SQL-фразы WHERE для успешных запросов .... 5-7
                 Определение области значений ........................ 5-7
                 Использование фразы WHERE дополнительными способами  5-10
                 Использование сложного критерия поиска ............. 5-10
                 Подсчет записей запроса ............................ 5-11
                 Использование фразы WHERE со сложными условиями .... 5-12
Глава 6       Модификация данных в базе данных ....................... 6-1
              Вставка, замена и удаление символов .................... 6-2
              Вставка и удаление записи .............................. 6-2
              Удаление информации из базы данных ..................... 6-6
              Создание новых записей ................................. 6-8
                 Заполнение ORDERS блока ............................. 6-8
                 Другие методы добавления записей ................... 6-10
                 Заполнение ITEMS блока ............................. 6-11
                 Заполнение блока CLIENT DATA ....................... 6-12
                 Дополнительные комментарии к блоку CLIENT DATA ..... 6-14

Глава 7       Работа SQL*Forms ....................................... 7-1
              Совершение транзакции .................................. 7-2
                 Готовность .......................................... 7-2

                                    -- 5 --



                 Проверка правильности данных ........................ 7-3
              Взятие транзакции назад ................................ 7-4
              Использование автоматической защиты записи ............. 7-4

Приложение А  Функциональные клавиши ................................. А-1
Приложение В  Демонстрационные таблицы ............................... В-1
Приложение С  Сообщения .............................................. С-1
              Словарь
              Каталог
              Форма для комментариев читателя

















































                                    -- 6 --



г л а в а 1              О Б З О Р

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

Требования  к установке

  Прежде, чем  вы  сможете выполнить  SQL*Forms,  на  вашем компьютере должна
  быть инсталлирована Управляющая Система Реляционной  Базы  Данных  ORACLE
  (RDBMS).  ( Смотрите ORACLE Installation and User's Guide для вашей  системы,
  если RDBMS или SQL*Forms не инсталлированы.)

  Вам необходимо имя пользователя и пароль. Имя пользователя идентифицирует вас
  как авторитетного пользователя ORACLE, а пароль подтверждает, что  вы -
  законный собственник своего пользовательского имени.  Если  ваша
  компьютерная система используется совместно  с другими пользователями,
  получите ваше имя и ваш пароль из  администратора базы данных (DBA).


Установка     Для установки демонстрационной  базы  данных  вам необходимо
демонстрац.   выполнить командный файл DEMOBLD. Для выполнения этого файла
базы данных   введите demobld в вашей операционной системе команд.

  Примечание:  если  демонстрационная  база  данных  не устанавливается вводом
  demobld, возможно, что ваш командный файл DEMOBLD расположен в другой
  директории.  Запросите DBA, где расположен командный файл DEMOBLD. Перейдите
  в  нужную директорию и введите demobld.

  Файл  DEMOBLD  предоставляет  вам  возможность  выбирать, обновлять и
  уничтожать в демонстрационной базе данных. Таким образом, вам  будет
  разрешено  выбирать, модифицировать или уничтожать информацию в
  демонстрационной базе данных.

  Демонстрационная форма SAMPLE, должна быть размещена в ORACLE директории или
  на вашем ORACLE диске.

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













                                    -- 7 --



Что такое
форма?        Форма  -  это  записанный  в  виде  бланков  шаблон на вашем
              компьютерном экране, который позволяет вам вводить, изменять
              и  запрашивать информацию  в  базе данных. Формы состоят  из
              блоков, записей и полей.

Рисунок 1-1   Ъ----------------------------------------------------------ї
Демонстрац.   і ЪД                                                       і
Форма         і і  ------------------------------------------------      і
Стр.1         і і  O R D E R S                                           і
              і і                                                        і
              і і  Order ID ±±±          Order Date ±±±±±±±              і
     Блок ----ЕДґ                                                        і
              і і  ClientID ±±±±±±±     Client Name ±±±±±±±±±±           і
              і і                                                        і
              і і                                                        і
              і і  ------------------------------------------------      і
              і АД I T E M S                                             і
              і                                                          і
              і      OrderID It.No.  Code  Act.Pr. Quant. It.Total       і      
              і    ЪД  ЙННН»  ЙННН»  ЙННН»  ЙННН»  ЙННН»  ЙННН»          і      
   Записи ----Е----ґ   є   є  є   є  є   є  є   є  є   є  є   є          і      
              і    АД  ИНННј  ИНННј  ИНННј  ИНННј  ИНННј  ИНННј          і
              і                                                          і
              і                                                          і
              і   ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±      і
              і   Count: 3                                і
              і                                                          і
              А----------------------------------------------------------Щ

Рисунок 1-1   Ъ----------------------------------------------------------ї
Демонстрац.   і    ------------------------------------------------      і
Форма         і    C L I E N T  D A T A                                  і
Стр.2      --ДЕ--------------Дї                                          і
         Поле і   Client ID ±±±±±±                                       і
              і                                                          і
              і        Name ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±               і
              і                                                          і
              і     Address ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±               і
              і                                                          і
              і        City ±±±±±±±±±±±±±±±±±±                           і
              і                                                          і
              і       State ±±  Zip ±±±±±±                               і
              і                                                          і
              і       Phone ±±±   ±±±±±±                                 і
              і                                                          і
              і                                                          і
              і      Credit ±±±±±±                                       і
              і                                                          і
              і     Comment ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±               і
              і                                                          і
              і                                                          і
              і   ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±    і
              і   Count: 3                                      і
              А----------------------------------------------------------Щ

  Блок        Группа связанных в форме полей
  Запись      Данные из строки таблицы базы данных или не базы данных

                                    -- 8 --



  Поле        Область на экране (обычно яркая), которая может отображать
              значение  или  принимать  вводимое значение.  Обычно  поле
              представляет колонку из таблицы базы данных.

Формы и база данных ORACLE

  Когда   вы   выполняете   SQL*Forms,   вы   должны  вводить, модифицировать
  или удалять данные в базе данных ORACLE. База данных  ORACLE  организует
  данные  в   таблицы  связанной информации.  Эти  таблицы  составлены  из
  строк и колонок.  (Смотри ниже образец таблицы.)

  Запись  в  форме соответствует строке в таблице. Например, четыре строки
  таблицы ITEM (рис.1-3) - это первая запись в блоке ITEMS (рис.1-4).

              Ъ----------------------------------------------------------ї
Рис.1-3       і ORDID   ITEMID   PRODID   ACTUALPRICE   QTY   ITEMTOT    і
Таблица       і ----------------------------------------------------Д    і
ITEM          і   601        1   200376           2.4     1       2.4    і
              і   602        1   100870           2.8    20        56    і
              і   603        2   100860            56     4       224    і
    Строка Ъ--ЕД> 604        1   100890            58     3       174    і
           і  і   604        2   100861            42     2        84    і
           і  і   604        3   100860            44    10       440    і
           і  і   605        1   100861            45   100      4500    і
           і  і   605        2   100870           2.8   500      1400    і
           і  і   605        3   100890            58     5       290    і
           і  і   605        4   101860            24    50      1200    і
           і  і   605        5   101863             9   100       900    і
           і  і   605        6   102130           3.4    10        34    і
           і  і і    і                                                   і
 Колонка --Е--ЕДБ----Щ                                                   і
           і  А----------------------------------------------------------Щ
           і  Ъ----------------------------------------------------------ї
Рис.1-4    і  і                                                          і
Блок ITEM  і  і    ------------------------------------------------      і
           і  і    O R D E R S                                           і
           і  і                                                          і
           і  і    Order ID ±±±          Order Date ±±±±±±±              і
           і  і                                                          і
           і  і    ClientID ±±±±±±±     Client Name ±±±±±±±±±±           і
           і  і                                                          і
           і  і                                                          і
           і  і    ------------------------------------------------      і
           і  і    I T E M S                                             і
           і  і                                                          і
           і  і      OrderID It.No.  Code  Act.Pr. Quant. It.Total       і
           і  і        ЙННН»  ЙННН»  ЙННН»  ЙННН»  ЙННН»  ЙННН»          і
    Запись А--Е----Д>  є   є  є   є  є   є  є   є  є   є  є   є          і
              і        ИНННј  ИНННј  ИНННј  ИНННј  ИНННј  ИНННј          і
              і                                                          і
              і                                                          і
              і   ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±    і
              і   Count: 3                                і
              і                                                          і
              А----------------------------------------------------------Щ




                                    -- 9 --



  Когда  вы  выбираете  данные  в форму (выполняете запрос), каждая  запись,
  которая  отображается, приходит из строки таблицы. Более  того,  если  вы
  вводите, модифицируете или удаляете запись,  это  вызывает  соответствующие
  действия в строке таблицы. Рис.1-5  показывает  элементы базы данных и их
  соответствие элементам формы.

  Элемент базы данных           Элемент формы
  ------------------------------------------Д
  Таблица                       Блок
  Строка                        Запись
  Колонка                       Поле

Рабочая       SQL*Forms  не  работают  непосредственно  с  таблицами базы
область       данных; они работают с их копиями, которые хранят в рабочей
              области. Эти меры защищают вас от совершения ошибок; вы можете
              сделать изменения в рабочей области, а затем отказаться от них.
              Если вы отказались от изменений, сама таблица не будет нарушена.


--------------Д
Экранный формат
  Типичный экран SQL*Forms отображает пояснительный текст, графические элементы
  и  поля, которые содержат значения данных. В нижней части экрана находятся
  линия сообщений и линия состояния.

              Ъ----------------------------------------------------------ї
Рис.1-5       і                                                          і
Линия         і    ------------------------------------------------      і
сообщения     і    O R D E R S                                           і
и линия       і                                                          і
состояния     і    Order ID ±±±          Order Date ±±±±±±±              і
              і                                                          і
              і    ClientID ±±±±±±±     Client Name ±±±±±±±±±±           і
              і                                                          і
              і                                                          і
              і    ------------------------------------------------      і
              і    I T E M S                                             і
              і                                                          і
              і      OrderID It.No.  Code  Act.Pr. Quant. It.Total       і
              і        ЙННН»  ЙННН»  ЙННН»  ЙННН»  ЙННН»  ЙННН»          і
              і        є   є  є   є  є   є  є   є  є   є  є   є          і
              і        ИНННј  ИНННј  ИНННј  ИНННј  ИНННј  ИНННј          і
              і                                                          і
   Линия   --ДЕД>                                                        і
   сообщения  і   ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±    і
   Линия   --ДЕД> Count:            ENTER QUERY                 і
   состояния  і                                                          і
              А----------------------------------------------------------Щ

Линия сообщений     Линия сообщений отображает сообщения SQL*Forms.
Линия состояния     Линия состояния может содержать (слева направо):

   Count:        Указывает   количество   записей,   выбранных запросом. Это
                 число увеличивается каждый раз, как вы отображаете запись,
                 вызванную запросом.  Когда  вы  извлекли  последнюю запись,
                 перед числом появляется символ (*).



                                    -- 10 --



   <             Указывает,   что   начало   текущего    файла завернуто  за
                 левую сторону экрана. Вы можете вновь  отобразить  начало
                 файла,  переместив курсор влево.

   >             Указывает,   что   конец   текущего   файла завернут за правую
                 сторону экрана. Вы можете вновь  отобразить  конец  файла,
                 переместив курсор вправо.

   ^             Указывает   наличие  записей  перед  текущей записью в блоке.

   v             Указывает  наличие  записей  после  текущей записи в блоке.

   ENTER QUERY   Указывает, что вы нажали [ENTER QUERY] и еще не нажали
                 [EXECUTE QUERY] или [EXIT/CANCEL].

        Появляется, когда есть список значений, связанных с текущим полем.

    or   Отображает  текущий  режим:  Вставка,  или
        Замена.

----------------
Схема клавиатуры

  Когда   вы  выполняете  SQL*Forms,   вы   должны   нажимать определенные
  клавиши перемещения курсора, вводить и изменять данные,  или  сохранять
  информацию.  Эти клавиши называются функциональными клавишами,  так  как  они
  выполняют функции SQL*Forms.

  Т.к. SQL*Forms выполняются на многих различных компьютерах, функции (такие
  как [NEXT FIELD])  могут  быть  на  разных компьютерах  обозначены
  различными  последовательностями клавишей.  Для  разрешения  этой проблемы
  SQL*Forms выводят список названий функций и соответствующих им клавиш на
  схеме клавиатуры.

  Ниже показано,  как  отобразить  схему  используемой  вами клавиатуры:

   1. Смотрите  стандартную  схему  клавиатуры  в  ORACLE Installation и User's
      Guide.
   2. Запросите у DBA копию схемы клавиатуры (если для вашего терминала она
      отличается от стандартной схемы).
   3. Отобразите  схему  клавиатуры  во  время  выполнения SQL*Forms, нажав
      [Show Keys].

  Схема клавиаатуры может быть приспособлена для конкретных целей   деловой
  организации.  Поэтому   вам   необходимо посмотреть имена функциональных
  клавиш раньше,  чем  имена клавиш в этом руководстве.

  Смотрите Приложение А и SQL*Forms Operator's Quick Reference для описания
  действия каждой функциональной клавиши.

Использование Для тех оболочек, которые позволяют использовать мышь, не
мыши в        обязательно использовать функции клавиш курсора. SQL*Forms
SQL*Forms     поддерживают  все  функции  управления  мышью, такие  как
              навигация и прокрутка. Например,  вы  можете использовать
              мышь для выбора меню элементов данных, защелкнуть на поле
              или прокрутить редактируемое поле.



                                    -- 11 --



------------Д
Подтверждение  готовности
   Готовность SQL*Forms появляется в виде одного из двух типов всплывающих
   окон,  которые  частично  перекрывают  текущий экран.  Чтобы  ответить   на
   готовность   первого   типа, используйте клавиши курсора для подведения к
   ответу (Yes, No или Cancel) и нажмите [Select].  Для  готовности   второго
   типа, для которой предусмотрен единственный ответ "OK",  вы просто  должны
   нажать [Select]  для подтверждения о чтении сообщения.

----------------Д
Получение справки
  Когда вы выполняете форму, вы можете получить справочную информацию, нажав
  [Help], [Show Keys] или [List].

Дополнительная помощь
   Некоторые формы обеспечивают дополнительную помощь в вашем запросе.  Она
   может  принимать  форму  блока  или  экрана информации,  которую   вы
   можете   отобразить   нажатием функциональной клавиши   или   выбором меню.
   Документация, сопровождающая вашу форму,  подскажет   вам,  доступна  ли
   дополнительная помощь, и как она может быть получена.
2-2 Руководство оператора по SQL*Forms

                        г л а в а 2


     ВЫПОЛНЕНИЕ ФОРМЫ

  Эта глава демонстрирует основные процедуры выполнения формы,
  а  также  некоторые  специальные  шаги  для  выполнения
  демонстрационной формы,  используемой  в  этом  руководстве.

Выполнение формы
  Для выполнения формы необходимо проделать следующие основные шаги:

   1. Начать сеанс на компьютере.
   2. Выполнить системной командой:
     а. Ввести RUNFORM и нажать пробел.
     в. Ввести имя формы, которую вы желаете выполнить.
     с. Нажать RETURN.

     Сейчас SQL Формы выведены на ваш экран.

   3. В поле имени введите ваше имя пользователя в ORACLE и нажмите RETURN.

   4. В поле пароля введите  ваш  пароль в ORACLE  и  нажмите RETURN. Заметим, 
      что ваш пароль не появится на экране в напечатанном виде.  Это гарантия 
      надежности, которая обеспечивается SQL*Forms.

      Сейчас SQL*Forms отображают форму на вашем экране.

  Если вы хотите избежать вывода на экран, вы  можете ввести ваше имя 
  пользователя и пароль  системной командой. Формат команды следующий:

  RUNFORM [опции] имя формы [имя пользователя/пароль]

  Например, чтобы выполнить форму с именем ORDERS,  вы  должны ввести:

  RUNFORM ORDERS SCOTT/TIGER

                                    -- 12 --



  Примечание: Эта процедура работает только тогда, когда форма
              находится в текущей директории.


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

   1. Начните работу с операционной системой вашего компьютера.
   2. Системной командой введите:

      RUNFORM SAMPLE имя пользователя/пароль

      Смотрите ваш DBA, если демонстрационная форма не устанавливается.

   3. Нажмите RETURN.
   4. SQL*Forms отображают демонстрационную форму на вашем экране.

   Примечание: Сейчас дата автоматически отображается в поле ORDER DATE.

Рисунок 2-1   Ъ----------------------------------------------------------ї
Демонстраци-  і                                                          і
онная Форма   і    ------------------------------------------------      і
              і    O R D E R S                                           і
              і    Order ID ±±±          Order Date ±±±±±±±              і
              і                                                          і
              і    ClientID ±±±±±±±     Client Name ±±±±±±±±±±           і
              і                                                          і
              і                                                          і
              і    ------------------------------------------------      і
              і    I T E M S                                             і
              і      OrderID It.No.  Code  Act.Pr. Quant. It.Total       і      
              і        ЙННН»  ЙННН»  ЙННН»  ЙННН»  ЙННН»  ЙННН»          і      
              і        є   є  є   є  є   є  є   є  є   є  є   є          і      
              і        ИНННј  ИНННј  ИНННј  ИНННј  ИНННј  ИНННј          і
              і                                                          і
              і                                                          і
              і   ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±      і
              і   Count:                                        і
              і                                                          і
              А----------------------------------------------------------Щ

О Демонстрационной  Форме
  Демонстрационная  форма,   используемая в этом руководстве, базируется на 
фиктивной компании The Summit Sporting Goods Company. Предположим, что The 
Summit Sporting Goods Company использует демонстрационную форму для хранения 
трассировки ордеров, получаемой  от  торговых представителей. Торговые 
представители компании берут  их  ордера в рукописном виде.  В конце дня они 
дают ордера операторам ввода данных, которые вводят информацию  в  базу 
данных, используя SQL*Forms. Вы будете использовать демонстрационную форму 
этого руководства для работы с упражнениями.

 Демонстрационная форма, называемая SAMPLE, состоит из трех блоков: ORDERS, 
ITEMS и CLIENT DATA.  Блок ORDERS, который дает основную информацию  о  
текущем ордере, базируется на таблице  ORD  из  демонстрационной  базы  
данных.  ITEMS, основанный на таблице ITEM, дает конкретную информацию об 


                                    -- 13 --



элементах ордера,  и  CLIENT DATA, основанный  на  таблице CUSTOMER, включает 
такую информацию клиента, как адрес и номер телефона. Линия сообщения и линия 
состояния в нижней части экрана не являются частью формы.

Упражнения,  включенные  в  это  руководство, основаны на таблицах ORD, ITEM  
и  CUSTOMER из демонстрационной базы данных ORACLE. Если  вы  новичок  в  
SQL*Forms, то лучший способ обучения -  это  выполнение упражнений этой книги.
(Исходное содержание таблиц ORD, ITEM и CUSTOMER показано в приложении В.)

Примечание:  Если  вы  или кто-нибудь еще изменит данные в таблицах демонст-
      рационной базы данных,  то данные, которые вы увидите на экране, могут 
      отличаться от данных, показанных в экранных образах этого руководства.

--------------Д
Завершение  Сеанса  Редактирования
Когда вы поработали с формой,  вы  захотите сохранить ваши
изменения  и  выйти  из  формы.  Для  завершения  сеанса
редактирования необходимы следующие шаги:

 1. Нажмите [Commit] чтобы записать ваши изменения  в  базе данных.

 2. Нажмите [Exit/Cancel]. SQL*Forms вернут вас  на  линию системных команд.





































                                    -- 14 --



                                г л а в а 3

ВЫПОЛНЕНИЕ ЗАПРОСА

   В этой главе вы будете учиться использовать форму для выборки информации из 
базы данных ORACLE. Выборка информации из базы данных называется выполнением 
запроса. Читайте эту главу для того, чтобы узнать, когда  запрашивать  базу  
данных  и  как выбрать все записи, доступные для особой формы.

Когда Запрашивать  Базу Данных
Как оператор Summit Sporting Goods,  вы не только вводите
новые ордера по мере их  поступления, вы также проверяете
ордера  на  статус  их  существования. Однако, прежде чем
проверить ордер, вам необходимо выбрать его из базы данных.
Этот процесс  выборки информации называется запрашиванием
базы данных.

Вы должны запрашивать базу данных  всякий  раз  как  вам
необходимо посмотреть или проверить существующие данные.
Например, если вы хотите проверить дату ордера или узнать
какой клиент зарегестрирован, вы можете ввести запрос для
выборки соответствующих записей.

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

 1. Вы можете выбрать все записи в блоке независимо  от данных, которые они 
    содержат.

 2. Или  вы  можете выбрать только  те  записи,  которые удовлетворяют 
    определенным критериям. (Например,  вы можете пожелать просмотреть все 
    записи, принятые 1 мая 1989 года, или все записи, помещенные клиентом 106.)


Выборка Всех Записей
Чтобы выбрать все записи, хранимые  в  таблице, установите курсор в блок, 
связанный с таблицей и нажмите [Execute Query].

В текущий момент в SAMPLE форме нет отображенных записей. Вы можете выбрать 
все записи, хранимые в таблице ORDERS, выполнив это упражнение:

   Упражнение  1. Нажмите [Execute Query]. Когда  вы выполняете запрос, вы
не должны находиться в первом поле записи. Для выполнения запроса на поле 
отличном  от  ORDER ID,  вы должны нажать [Next Field] чтобы перейти  на любое 
другое поле текущего блока  и  затем  нажать  [Execute Query]  для  выполнения 
запроса в этом блоке.

Сейчас ваш экран должен выглядеть как Рисунок 3-1.

Рисунок 3-1   Ъ----------------------------------------------------------ї
Выборка Всех  і                                                          і
Записей       і    ------------------------------------------------      і
              і    O R D E R S                                           і
              і    Order ID ±±±          Order Date ±±±±±±±              і
              і                                                          і
              і    ClientID ±±±±±±±     Client Name ±±±±±±±±±±           і
              і                                                          і
              і                                                          і
              і    ------------------------------------------------      і

                                    -- 15 --



              і    I T E M S                                             і
              і      OrderID It.No.  Code  Act.Pr. Quant. It.Total       і      
              і        ЙННН»  ЙННН»  ЙННН»  ЙННН»  ЙННН»  ЙННН»          і      
              і        є   є  є   є  є   є  є   є  є   є  є   є          і      
              і        ИНННј  ИНННј  ИНННј  ИНННј  ИНННј  ИНННј          і
              і                                                          і
              і                                                          і
              і   ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±      і
              і   Count:                                        і
              і                                                          і
              А----------------------------------------------------------Щ

Хотя нажатием [Execute Query]  вы  выбираете  все  записи, хранимые в таблице, 
SQL*Forms отображают только одну запись в текущий момент. Это происходит 
потому,  что  блок ORDERS является блоком с единственной записью; только одна 
запись может быть отображена в текущий момент.  С  другой стороны, блок ITEMS 
является блоком с множеством записей;  он может отображать сразу до трех 
записей. Вы можете прокрутить все выбранные записи, хотя только несколько 
записей отображены в один момент времени.








































                                    -- 16 --



                                г л а в а 4

ПЕРЕМЕЩЕНИЕ В ПРЕДЕЛАХ ФОРМЫ

Когда  вы  работаете  с  формой - либо сканируя существующие данные, либо 
вводя новые записи - вам необходимо перемещать курсор от одной области формы к 
другой. Эта глава объясняет, как проделать следующие перемещения курсора:
   - от блока к блоку
   - от записи к записи
   - от поля к полю

Перемещение от  блока к блоку
   Чтобы  переместить  курсор  от  одного  блока  к  другому, используйте 
   [Next Block] или [Previous Block].

  Упражнение   1. После позиционирования в блоке ORDERS, нажмите один раз
                  [Next Block]. Сейчас ITEMS становится текущим блоком.

   Заметим,  что в поле Order ID появляется значение 601.  Для удобства  и  
   уверенности  в  том, что ордер введен правильно, значение Order ID читается 
   из блока ORDERS и автоматически отображается в блоке ITEMS.

2. Нажмите один раз [Previous Block], чтобы перейти обратно в блок ORDERS.

3. Нажмите дважды [Next Block]. Таким образом, вы устанавливаете курсор в блок 
   [CLIENT DATA].

4. Нажмите еще раз [Next Block]. ORDERS снова становится текущим блоком.

   Когда  вы  перемещаете  курсор  от блока к блоку, ваши движения являются 
   циклическими.  Например,  когда  вы добрались  до  последнего  блока  формы  
   и  нажимаете [Next Block], SQL*Forms возвращают вас обратно к первому 
   блоку.  Подобным образом,   если вы нажимаете [Previous Block]  после 
   наведения  на  первый блок формы,  курсор перемещается к последнему блоку 
   формы.


Перемещение от  записи к записи

После того, как вы извлекли записи из базы данных, вы можете использовать  
[Next Record]  и  [Previous Record],  чтобы просмотреть  их.  Если  блок  
содержит  только одну запись, вы видите только одну запись. Если  блок 
содержит множество записей,  вы  увидите  более  чем одну запись. Для движения 
от  одной  записи  к  другой  можно  использовать  клавиши перемещения.  Чтобы  
просмотреть оставшиеся записи в блоке ORDERS, нажмите [Next Record] один раз 
для просмотра каждой последующей записи.

   Упражнение  1. Нажмите четыре раза [Next Record]. SQL*Forms отображают
                  на экране Order ID 605.

               2. Нажмите один раз [Previous Record]. SQL*Forms отображают
                  в блоке ORDERS информацию для Order ID 604. (Рис.4-1.)

                  Заметим,  что  в  поле Order ID блока ITEMS появляется
                  значение 601.  Проектировка формы такова, что когда вы
                  нажимаете [Next Block], номер  ID  будет автоматически
                  скопирован из поля Order ID блока ORDERS в поле Order ID
                  блока ITEMS.

                                    -- 17 --



Рисунок 4-1   Ъ----------------------------------------------------------ї
Перемещение   і                                                          і
от записи к   і    ------------------------------------------------      і
записи        і    O R D E R S                                           і
              і    Order ID ±±±          Order Date ±±±±±±±              і
              і                                                          і
              і    ClientID ±±±±±±±     Client Name ±±±±±±±±±±           і
              і                                                          і
              і                                                          і
              і    ------------------------------------------------      і
              і    I T E M S                                             і
              і      OrderID It.No.  Code  Act.Pr. Quant. It.Total       і      
              і        ЙННН»  ЙННН»  ЙННН»  ЙННН»  ЙННН»  ЙННН»          і      
              і        є   є  є   є  є   є  є   є  є   є  є   є          і      
              і        ИНННј  ИНННј  ИНННј  ИНННј  ИНННј  ИНННј          і
              і                                                          і
              і                                                          і
              і   ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±      і
              і   Count: 5                                і
              і                                                          і
              А----------------------------------------------------------Щ

Чтобы увидеть как [Next Record], [Previous Record], [Up] и [Down] работают в 
блоке с множеством записей, проделайте следующее упражнение.

  Упражнение
1. Нажмите [Next Block] чтобы перейти от блока ORDERS к блоку ITEMS.

2. Нажмите [Execute Query].
   Это укажет SQL*Forms выбрать все записи в таблице ITEMS, которая  имеет 
   значение  604  поля  Order ID. SQL*Forms отобразят три записи как показано 
   на рисунке 4-2.


Рисунок 4-2   Ъ----------------------------------------------------------ї
Блок с        і                                                          і
множеством    і    ------------------------------------------------      і
записей       і    O R D E R S                                           і
              і    Order ID ±±±          Order Date ±±±±±±±              і
              і                                                          і
              і    ClientID ±±±±±±±     Client Name ±±±±±±±±±±           і
              і                                                          і
              і                                                          і
              і    ------------------------------------------------      і
              і    I T E M S                                             і
              і      OrderID It.No.  Code  Act.Pr. Quant. It.Total       і      
              і        ЙННН»  ЙННН»  ЙННН»  ЙННН»  ЙННН»  ЙННН»          і      
              і        є   є  є   є  є   є  є   є  є   є  є   є          і      
              і        ИНННј  ИНННј  ИНННј  ИНННј  ИНННј  ИНННј          і
              і                                                          і
              і                                                          і
              і   ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±      і
              і   Count: 3                                і
              і                                                          і
              А----------------------------------------------------------

3. Нажмите [Next Record], чтобы перейти к последней записи блока ITEMS.


                                    -- 18 --



4. Нажмите еще раз [Next Record].
   Примечание:  В  отличие  от  перемещения  между блоками, перемещение между 
   записями не является циклическим. Когда вы  достигаете последней записи,  
   вы  должны многократно нажать  [Previous Record],  чтобы возвратиться  к  
   первой записи.

5. Сейчас четыре раза нажмите [Previous Record]. Вы должны оказаться на первой 
   записи блока ITEMS. SQL*Forms отобразят сообщение:

   FRM-40100: At first record.

6. Нажмите [Next Field].

7. Нажмите [Down]. Курсор перемещается вниз на одну запись, но остается в том 
   же поле.

8. Нажмите [Up]. Курсор перемещается вверх на одну запись, но остается в том 
   же поле.

   Примечание: Когда вы изменяете несколько записей в одном поле, вы можете 
   использовать [Up] и [Down] вместо [Next Record] и [Previous Record].


Перемещение от  поля к полю
              Вы можете перемещаться от одного поля к другому, нажимая
              [Next Field] и [Previous Field].

  Упражнение
1. Нажмите [Previous Block] чтобы перейти в блок ORDERS.

2. Нажмите дважды [Next Field]. Курсор должен перейти в поле Client ID.

3. Нажмите снова [Next Field].

   Вместо перемещения на поле Client Name, как вы ожидали, курсор переместится 
   обратно к Order ID. Это происходит потому, что поле Client Name 
   спроектировано дизайнером формы как невводимое.

   Когда  вы  вводите  значение  Client ID  в  блок ORDERS, SQL*Forms выбирают 
   имя клиента и автоматически отображают его  в  поле  Client Name.  Эта  
   автоматическая  выборка повышает аккуратность работы.

4. Нажмите [Previous Field]. Курсор перемещается  из  поля Order ID обратно в 
   поле Client ID (опять пропуская поле Client Name).

5. Нажмите снова [Previous Field]. Вы возвратитесь назад к Order Date.

Порядок, в котором курсор перемещается от одного поля  к другому, определен 
дизайнером формы.  В  форме SAMPLE  вы переходите от поля Order ID к полю 
Order Date, и затем к полю Client ID. Другие формы, использующие такие же 
поля, могут иметь  их  в  другой последовательности.  Однако, обычно   вы   
обнаружите,   что  поля  располагаются  в последовательности слева направо и 
сверху вниз.

Если значение поля неправильное,  SQL*Forms  не позволят курсору покинуть это 
поле, пока вы  не  откорректируете значение. Например, если поле требует 
численное значение между 100 и 9999, курсор не покинет поле, когда значение 
равно, например, 99 или 10000. Это не относится к блочному режиму терминалов.

                                    -- 19 --



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


Перемещение в  пределах поля 
Когда вы работаете в поле, для перемещения курсора на одну позицию влево 
используйте [Left], и для перемещения на одну позицию вправо используйте 
[Right].

Поле может быть короче, чем соответствующая колонка таблицы.  Таким образом,  
поле  может  быть  короче,  чем величина, которую оно содержит. Когда это 
происходит, вы не увидите полного содержания поля. Однако, SQL*Forms позволяют  
вам перемещать величину вперед и назад в пределах поля так, что вы  сможете  
увидеть  величину  целиком.  Это   называется горизонтальной прокруткой. 
Следующее упражнение показывает, как сделать горизонтальную прокрутку, 
используя как [Left] и [Right], так и [Scroll Left] и [Scroll Right].

  Упражнение
1. Убедитесь,  что курсор установлен  в  блоке ORDERS  и нажмите [Enter 
   Query].

2. Введите 613 в поле Order ID и нажмите [Execute Query].

   На экране появится Order 613.

3. Нажмите дважды [Next Block].

   Сейчас вы находитесь в блоке CLIENT DATA со значением 613 в поле Order ID.

4. Нажмите [Execute Query].

   Заметим, что информация в поле Name длиннее, чем область дисплея. Линия 
   состояния отображает  "<",  когда начало текущего значения  поля  
   заворачивается  за  экран,  и отображает  ">",  когда  конец текущего  
   значения  поля заворачивается за экран.

5. Нажмите   [Next Field], чтобы установить курсор в поле Name.
6. Нажимайте [Right], пока вы не достигнете конца имени клиента.

   Имя прокручивается в области поля по одному символу за одно нажатие.

7. Нажмите [Left].

   Курсор перемещается на один символ влево.

8. Нажмите [Scroll Left] для просмотра начала имени.

   Отображенное  окно  поля сдвигается влево, отображая содержание поля, 
   находившееся вне окна.

9. Нажмите [Scroll Right] для просмотра конца имени.

   Отображенное  окно  поля сдвигается вправо, отображая содержание поля, 
   находившееся вне окна.


KOAP Open Portal 2000