Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Базы данных -> SQL -> Язык баз данных SQL со средствами поддержания целостности


Приложение B. <Встроенное объявление реакции на исключительную ситуацию> (<embedded exception declaration>)
(Это дополнение не является неотъемлемой частью стандарта.)

Функция

Специфицирует действия, предпринимаемые в случае возникновения исключительных ситуаций при выполнении <оператора SQL> (<SQL statement>).

Формат

     <embedded exception declaration> ::=
             WHENEVER <condition> <exception action>
     <condition> ::=
             SQLERROR | NOT FOUND
     <exception action> ::=
             CONTINUE | <go to>
     <go to> ::=
             { GOTO | GO TO } <target>
     <target> ::= :<host identifier> | <unsigned integer>

Синтаксические правила


  1. а) Если <встроенное объявление реакции на исключительную ситуацию> (<embedded exception declaration>) содержится в <программе на языке COBOL со встроенным SQL> (<embedded SQL COBOL program>), то <цель> (<target>) в <операторе передачи управления> (<go to>) должна специфицировать <идентификатор основного языка> (<host identifier>), являющийся именем секции или именем параграфа без квалификатора.
    b) Если <встроенное объявление реакции на исключительную ситуацию> (<embedded exception declaration>) содержится в <программе на языке FORTRAN со встроенным SQL> (<embedded SQL FORTRAN program>), то <цель> (<target>) в <операторе передачи управления> (<go to>) должна быть <целым числом без знака> (<unsigned integer>), которое является меткой выполнимого оператора, появляющегося в той же программной единице, что и <оператор передачи управления> (<go to>).
    c) Если <встроенное объявление реакции на исключительную ситуацию> (<embedded exception declaration>)содержится в <программе на языке Pascal со встроенным SQL> (<embedded SQL Pascal program>), то <цель> (<target>) в <операторе передачи управления> (<go to>) должна быть <целым числом без знака> (<unsigned integer>), являющимся меткой.
    d) Если <встроенное объявление реакции на исключительную ситуацию> (<embedded exception declaration>) содержится в <программе на языке PL/1 со встроенным SQL> (<embedded SQL PL/1 program>), то <цель> (<target>) в <операторе передачи управления> (<goto>) должна специфицировать <идентификатор основного языка> (<host identifier>), являющийся меткой константой или именем переменной типа метка.
  2. <Встроенное объявление реакции на исключительную ситуацию> (<embedded exception declaration>), содержащееся в <программе со встроенным SQL> (<embedded SQL host program>) применяется к <оператору SQL> (<SQL statement>), содержащемуся в <программе со встроенным SQL> (<embedded SQL host program>), тогда и только тогда, когда <оператор SQL> (<SQL statement>) появляется текстуально после этого <встроеннного объявления реакции на исключительную ситуацию> (<embedded exception declaration>) в тексте <программы со встроенным SQL> (<embedded SQL host program>) и нет другого <встроенного объявления реакции на исключительную ситуацию> (<embedded exception declaration>), которое специфицирует то же <условие> (<condition>) и появляется между этим <встроеннным объявлением реакции на исключительную ситуацию> (<embedded exception declaration>) и этим <оператором SQL> (<SQL statement>) в тексте <программы со встроенным SQL> (<embedded SQL host program>).
  3. Если <встроенное объявление реакции на исключительную ситуацию> (<embedded exception declaration>) специфицирует <оператор передачи управления> (<go to>), то <идентификатор основного языка> (<host identifier>) или <целое число без знака> (<unsigned integer>), используемые в <операторе передачи управления> (<go to>), должны быть такими, чтобы оператор GOTO основного языка, специфицирующий этот <идентификатор основного языка> (<host identifier>) или <целое число без знака> (<unsigned integer>), был законным для каждого <оператора SQL> (<SQL statement>), к которому применимо данное <встроенное объявление реакции на исключительную ситуацию> (<embedded exception declaration>).

Общие правила

  1. Непосредственно после выполнения <оператора SQL> (<SQL statement>) в <программе со встроенным SQL> (<embedded SQL host program>):
    а) Если значение переменной SQLCODE (SQLCOD) равно +100 и <программа со встроенным SQL> (<embedded SQL host program>) содержит <встроенное объявление реакции на исключительную ситуацию> (<embedded exception declaration>), которое применимо к <оператору SQL> (<SQL statement>), <условие> (<condition>) которого есть NOT FOUND и <действие по исключительной ситуации> (<exception action>) которого есть <оператор передачи управления> (<go to>), то выполняется оператор GOTO основного языка с указанным в данном <операторе передачи управления> (<go to>) <идентификатором основного языка> (<host identifier>) или <целым числом без знака> (<unsigned integer>).
    b) Если значение переменной SQLCODE (SQLCOD> отрицательное число и <программа со встроенным SQL> (<embedded SQL host program>) содержит <встроенное объявление реакции на исключительную ситуацию> (<embedded exception declaration>), которое применимо к <оператору SQL> (<SQL statement>), <условие> (<condition>) которого SQLERROR и <действие по исключительной ситуации> (<exception action>) которого есть <оператор передачи управления> (<go to>), то выполняется оператор GOTO основного языка с указанным в данном <операторе передачи управления> (<go to>) <идентификатором основного языка> (<host identifier>) или <целым числом без знака> (<unsigned integer>).
    c) Если <программа со встроенным SQL> (<embedded SQL host program>) не содержит <встроенное объявление реакции на исключительную ситуацию> (<embedded exception declaration>), которое применимо к <оператору SQL> (<SQL statement>), или если она содержит <встроенное объявление реакции на исключительную ситуацию> (<embedded exception declaration>), которое применимо к <оператору SQL> (<SQL statement>) и <условие> (<condition>) которого CONTINUE, то никакие действия для этого <оператора SQL> (<SQL statement>) не выполняются.

Приложение С. <Программа на языке Кобол со встроенным SQL> (<embedded SQL COBOL program>
(Это дополнение не является неотъемлемой частью стандарта.)

Функция

Специфицирует модуль SQL, встроенный в программу на языке COBOL.

Формат

     <embedded SQL COBOL program> ::=
             См. Синтаксические правила.
     <COBOL variable definition> ::=
             { 01 | 77 } < COBOL host identifier>
                         <COBOL type specification>
                         [<character> ...]
     < COBOL host identifier> ::=
             См. Cинтаксическое правило 3.
     <COBOL type specification> ::=
              <COBOL character type>
            | <COBOL numeric type>
            | <COBOL integer type>
     <COBOL character type> ::=
              PIC[TURE] [IS] X (<length>)
     <COBOL numeric type> ::=
              PIC[TURE] [IS]
              S{ <nines> [V<nines>]
            | <nines>V
            | V<nines> }
              [USAGE [IS]] DISPLAY SIGN LEADING SEPARATE
     <COBOL integer type> ::=
              PIC[TURE] [IS]
              S<nines>
              [USAGE [IS]] COMP[UTATIONAL]
     <nines>::= { 9 [(<unsigned integer>)] }...

Синтаксические правила

  1. <Программа на языке COBOL со встроенным SQL> (<embedded SQL COBOL program>) - это прикладная программа, состоящая из текста на языке COBOL и текста на языке SQL. Текст на языке COBOL должен удовлетворять стандарту языка COBOL. Текст на языке SQL должен состоять из одного или более <встроенных операторов языка SQL> (<embedded SQL statement>) и, возможно, одной или более <встроенных секций описаний SQL> (<embedded SQL declare section>.
  2. <Встроенный оператор SQL> (<embedded SQL statement>) в <программе на языке COBOL со встроенным SQL> (<embedded SQL COBOL program>) может быть специфицирован везде, где может быть специфицирован оператор языка COBOL в разделе процедур (Procedure Division) <программы на языке COBOL со встроенным SQL> (<embedded SQL COBOL program>). Если оператору языка COBOL может непосредственно предшествовать имя параграфа, то и <встроенному оператору языка SQL> (<embedded SQL statement>) может непосредственно предшествовать имя параграфа.
  3. <Идентификатор языка COBOL> (<COBOL host identifier>) - это любое допустимое в языке COBOL имя переменной. <Идентификатор языка COBOL> (<COBOL host identifier>) должен содержаться в <программе на языке COBOL со встроенным SQL> (<embedded SQL COBOL program>).
  4. <Определение переменной языка COBOL> (<COBOL variable definition>) - это ограниченная форма описания данных в языке COBOL, определяющая переменную.
    а) <Определение переменной языка COBOL> (<COBOL variable definition>) должно быть законным элементом описания данных в разделе данных (Data Division) программы, полученной из <программы на языке COBOL со встроенным SQL> (<embedded SQL COBOL program>).
    b) Необязательная последовательность <символов> (<character>) в <определении переменной языка COBOL> (<COBOL variable definition>) может специфицировать раздел VALUE. Могут ли быть специфицированы другие разделы - определяется реализацией. Последовательность <символов> (<character>) должна быть такой, чтобы <определение переменной языка COBOL> (<COBOL variable definition>) являлось допустимым элементом описания данных языка COBOL.
    c) <Cимвольный тип данных языка COBOL> (<COBOL character type>) описывает переменную типа строка символов. Эквивалентный тип данных языка SQL - это тип CHARACTER такой же длины.
    d) <Числовой тип данных языка COBOL> (<COBOL numeric type>) описывает переменную типа точных чисел. Эквивалентный тип данных языка SQL - это тип NUMERIC с теми же самыми значениями точности и масштаба.
    e) <Целый тип данных языка COBOL> (<COBOL integer type>) описывает переменную типа точных чисел. Эквивалентный тип данных языка SQL - это тип INTEGER.
    Замечание: этот тип данных поддерживается только для SQLCODE, см. Синтаксическое правило 5.
  5. <Программа на языке COBOL со встроенным SQL> (<embedded SQL COBOL program>) должна содержать переменную с именем SQLCODE, определенную с типом данных COMPUTATIONAL picture S9(PC), где PC - определяемое реализацией значение точности, специфицированное для параметров SQLCODE в разделе 7.3, "<Процедура> (<procedure>).

Общие правила

См. Приложение A "<Программа со встроенным SQL> (<embedded SQL host program>)".

Приложение D. <Программа на языке Фортран со встроенным SQL> (<embedded SQL FORTRAN program>)
(Это дополнение не является неотъемлемой частью стандарта.)

Функция

Специфицирует модуль SQL, встроенный в программу на языке FORTRAN.

Формат

     <embedded SQL FORTRAN program> ::=
             См. Синтаксические правила.
     <FORTRAN variable definition> ::=
             <FORTRAN type specification>
             <FORTRAN host identifier>
             [{,<FORTRAN host identifier>}...]
     <FORTRAN host identifier> ::=
             См. Синтаксическое правило 4.
     <FORTRAN type specification> ::=
             CHARACTER [*<length>]
           | INTEGER
           | REAL
           | DOUBLE PRECISION

Синтаксические правила

  1. <Программа на языке FORTRAN со встроенным SQL> (<embedded SQL FORTRAN program>) - это прикладная программа, состоящая из текста на языке FORTRAN и текста на языке SQL. Текст на языке FORTRAN должен удовлетворять стандарту языка FORTRAN. Текст на языке SQL должен состоять из одного или более <встроенных операторов SQL> (<embedded SQL statement>) и, возможно, одной или более <встроенных секций описаний SQL> (<embedded SQL declare section>).
  2. <Встроенный оператор SQL> (<embedded SQL statement>) может быть специфицирован везде, где может быть специфицирован оператор языка Фортран. <Встроенный оператор SQL> (<embedded SQL statement>), предшествующий какому-либо выполнимому оператору языка FORTRAN в содержащей <программе на языке FORTRAN со встроенным SQL> (<embedded SQL FORTRAN program>) не должен быть помечен номером оператора языка FORTRAN. В других случаях, если оператор языка FORTRAN может иметь номер, то и <встроенный оператор SQL> (<embedded SQL statement>) может иметь номер.
  3. Пробелы существенны во <встроенных операторах SQL> (<embedded SQL statement>). Правила для <разделителей> (<separator>) во <встроенных операторах языка SQL> (<embedded SQL statement>) специфицируются в разделе 5.3, "<Лексемы> (<token>)".
  4. <Идентификатор языка FORTRAN> (<FORTRAN host identifier>) - это любое допустимое имя переменной в языке FORTRAN. <Идентификатор языка FORTRAN> (<FORTRAN host identifier>) должен содержаться в <программе на языке FORTRAN со встроенным SQL> (<embedded SQL FORTRAN program>).
  5. <Определение переменной языка FORTRAN> (<FORTRAN variable definition>) является ограниченной формой оператора описания типа языка FORTRAN, которая определяет переменную основного языка.
    а) <Определение переменной языка FORTRAN> (<FORTRAN variable definition>) должно быть допустимым оператором описанием типа языка FORTRAN в программе, полученной из <программы на языке FORTRAN со встроенным SQL> (<embedded SQL FORTRAN program>).
    b) CHARACTER описывает переменную типа символьной строки. Эквивалентный тип данных языка SQL - это тип CHARACTER такой же длины.
    c) INTEGER описывает переменную типа точного числа. Эквивалентный тип данных языка SQL - это тип INTEGER.
    d) REAL описывает переменную типа приблизительного числа. Эквивалентный тип данных языка SQL - это тип REAL.
    e) DOUBLE PRECISION описывает переменную типа приблизительного числа. Эквивалентный тип данных языка SQL - это тип DOUBLE PRECISION.
  6. <Программа на языке FORTRAN со встроенным SQL> (<embedded SQL FORTRAN program>) должна содержать переменную с именем SQLCODE, определенную с типом данных INTEGER. В <программе на языке FORTRAN со встроенным SQL> (<embedded SQL FORTRAN program>) имя SQLCOD должно использоваться как сокращение SQLCODE.

Общие правила

См. Приложение A "<Программа со встроенным SQL> (<embedded SQL host program>)".

Приложение Е. <Программа на языке Паскаль со встроенным SQL> (<embedded SQL Pascal program>)
(Это дополнение не является неотъемлемой частью стандарта)

Функция

Специфицирует модуль SQL, встроенный в программу на языке FORTRAN.

Формат

     <embedded SQL Pascal program> ::=
             См. Синтаксические правила.
     <Pascal variable definition> ::=
            <Pascal host identifier>
            [{,<Pascal host identifier>}...]:
            <Pascal type specification>
     < Pascal host identifier> ::=
            См. Синтаксическое правило 3.
     <Pascal type specification> ::=
            PACKED ARRAY <left bracket>
             1..<length> <right bracket> OF CHAR
          | INTEGER
          | REAL
     <left bracket> ::=[
     <right bracket> ::=]

Синтаксические правила

  1. <Программа на языке Pascal со встроенным SQL> (<embedded SQL Pascal program>) - это прикладная программа, состоящая из текста на языке Pascal и текста на языке SQL. Текст на языке Pascal должен удовлетворять стандарту языка Pascal. Текст на языке SQL должен состоять из одного или более <встроенных операторов SQL> (<embedded SQL statement>) и, возможно, одной или более <встроенных секций описаний SQL> (<embedded SQL declare section>.
  2. <Встроенный оператор SQL> (<embedded SQL statement>) может быть специфицирован везде, где может быть специфицирован оператор языка Pascal. <Встроенному оператору SQL> (<embedded SQL statement>) может предшествовать метка языка Pascal.
  3. <Идентификатор языка Pascal> (<Pascal host identifier>) - это любой допустимый идентификатор переменной в языке Pascal. <Идентификатор языка Pascal> (<Pascal host identifier>) должен содержаться в <программе на языке Pascal со встроенным SQL> (<embedded SQL Pascal program>).
  4. <Определение переменной языка Pascal> (<Pascal variable definition>) определяет переменную основного языка.
    а) <Определение переменной языка Pascal> (<Pascal variable definition>) должно быть допустимым в языке Pascal объявлением переменной в программе, полученной из <программы на языке Pascal со встроенным SQL> (<embedded SQL Pascal program>).
    b) PACKED ARRAY [1..<lenght>] OF CHAR описывает переменную типа символьной строки. Эквивалентный тип данных языка SQL - это тип CHARACTER такой же длины.
    c) INTEGER описывает переменную типа точного числа. Эквивалентный тип данных языка SQL - это тип INTEGER.
    d) REAL описывает переменную типа приблизительного числа. Эквивалентный тип данных языка SQL - это тип REAL.
  5. <Программа на языке Pascal со встроенным SQL> (<embedded SQL Pascal program>) должна содержать переменную с именем SQLCODE, определенную с типом данных INTEGER.

Общие правила

См. Приложение A "<Программа со встроенным SQL> (<embedded SQL host program>)".

Приложение F. <Программа на языке PL/1 со встроенным SQL> (<embedded SQL PL/1 program>)
(Это дополнение не является неотъемлемой частью стандарта.)

Функция

Специфицирует модуль SQL, встроенный в программу на языке PL/1.

Формат

     <embedded SQL PL/1 program> ::=
             См. Синтаксические правила.
     <PL/1 variable definition> ::=
            { DCL | DECLARE }
             { <PL/1 host identifier>
             | (<PL/1 host identifier>
               [{,<PL/1 host identifier> }...]) }
            <PL/1 type specification>
            [<character> ...];
      < PL/1 host identifier> ::=
            См. Синтаксическое правило 3.
      <PL/1 type specification> ::=
                CHAR[ACTER] (<lenght>)
              | { DEC[IMAL] FIXED | FIXED DEC[IMAL] }
                 (<precision> [,<scale>])
              | { BIN[ARY] FIXED | FIXED BIN[ARY] }
                 [(<precision>)]
              | { BIN[ARY] FLOAT | FLOAT BIN[ARY] }
                 (<precision>)

Синтаксические правила

  1. <Программа на языке PL/1 со встроенным SQL> (<embedded SQL PL/1 program>) - это прикладная программа, состоящая из текста на языке PL/1 и текста на языке SQL. Текст на языке PL/1 должен удовлетворять стандарту языка PL/1. Текст на языке SQL должен состоять из одного или более <встроенных операторов SQL> (<embedded SQL statement>) и, возможно, одной или более <встроенных секций описаний SQL> (<embedded SQL declare section>.
  2. <Встроенный оператор SQL> (<embedded SQL statement>) может быть специфицирован везде, где может быть специфицирован оператор языка PL/1 внутри блока процедур. Если оператору PL/1 могла бы предшествовать метка, <встроенному оператору SQL> (<embedded SQL statement>) может непосредственно предшествовать метка.
  3. <Идентификатор языка PL/1> (<PL/1 host identifier>) это любой допустимый идентификатор переменной в языке PL/1. <Идентификатор языка PL/1> (<PL/1 host identifier>) должен содержаться в <программе на языке PL/1 со встроенным SQL> (<embedded SQL PL/1 program>).
  4. <Определение переменной языка PL/1> (<PL/1 variable definition>) определяет одну или более переменных основного языка.
    а) <Определение переменной языка PL/1> (<PL/1 variable definition>) должно быть допустимым в языке PL/1 объявлением данных в программе, полученной из <программы на языке PL/1 со встроенным SQL> (<embedded SQL PL/1 program>).
    b) <Определение переменной языка PL/1> (<PL/1 variable definition>) должно специфицировать скалярную переменную, а не массив или структуру.
    c) Необязательная последовательность <символов> (<character>) в <определении переменной языка PL/1> (<PL/1 variable definition>) может специфицировать раздел INITIAL. Могут ли быть специфицированы другие предложения - определяется реализацией. Последовательность <символов> (<character>) должна быть такой, чтобы <определение переменной языка PL/1> (<PL/1 variable definition>) было законным оператором DECLARE языка ПЛ/1.
    d) CHAR[ACTER] описывает переменную типа символьной строки. Эквивалентный тип данных языка SQL - это тип CHARACTER такой же длины.
    e) FIXED DEC[IMAL] описывает переменную типа точного числа. <Масштаб> (<scale>) не должен быть больше <точности> (<precision>). Эквивалентный тип данных языка SQL - это тип DECIMAL с такими же <точностью> (<precision>) и <шкалой> (<scale>).
    f) FLOAT BIN[ARY] описывает переменную типа приблизительного числа. Эквивалентный тип данных языка SQL - это тип FLOAT с такой же <точностью> (<precision>).
    g) FIXED BIN[ARY] описывает переменную типа точного числа. Эквивалентный тип данных языка SQL - это тип INTEGER.
    Замечание: Этот тип данных поддерживается только для SQLCODE; см. Синтаксическое правило 5.
  5. <Программа на языке PL/1 со встроенным SQL> (<embedded SQL PL/1 program>) должна содержать переменную с именем SQLCODE, определенную с типом данных FIXED BINARY(PP), где PP - определенная в реализации <точность> (<precision>), специфицированное для параметров SQLCODE в разделе 7.3, "<Процедура> (<procedure>)".

Общие правила
См. Приложение A "<Программа со встроенным SQL> (<embedded SQL host program>)".

Назад | Содержание



 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.