Язык модулей SQL

Рефераты, курсовые, дипломные, контрольные (предпросмотр)

Тип: Курсовая работа. Файл: Word (.doc) в архиве zip. Категория: Информатика, IT
Адрес этого реферата http://referat-kursovaya.repetitor.info/?essayId=24713 или
Загрузить
В режиме предпросмотра не отображаются таблицы, графики и иллюстрации. Для получения полной версии нажмите кнопку «Загрузить». Рефераты, контрольные, дипломные, курсовые работы предоставляются в ознакомительных целях, не для плагиата.
Страница 1 из 8 [Всего 8 записей]1 2 3 4 5 » ... Последняя »

Модуль (module)

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

1. Для каждого определения курсора (cursor declare) в модуле (module) должна существовать ровно одна процедура (procedure) в этом модуле (module), которая содержит оператор открытия (open statement) со спецификацией имени курсора (cursor name), объявленного в объявлении курсора (cursor declare).

2. Модуль (module) должен быть ассоциирован с прикладной программой при ее выполнения. Прикладная программа должна быть ассоциирована не более чем с одним модулем (module).

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

1. Если раздел языка (language clause) модуля (module) специфицирует COBOL (соответственно FORTRAN, PASCAL, PLI) и если агент, выполняющий вызов процедуры (procedure) этого модуля (module), не является стандартной программой на языке COBOL (соответственно FORTRAN, Pascal, PL/1), то результат неопределен.

2. После выполнения агентом на языке программирования последнего вызова процедуры (procedure) в модуле (module) неявно выполняется оператор фиксации (commit statement) или оператор отката (rollback statement). Выбор одного из этих операторов SQL (SQL statement) определяется реализацией. Если имеет место невосстанавлваемая ошибка, то СУБД должна выполнить оператор отката (rollback statement).

Раздел имени модуля (module name clause)

Функция

Задает имя модуля (module).

Формат

module name clause ::=

MODULE [module name]

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

1. Имя модуля (module name) должно отличаться от имени модуля (module name) любого другого модуля (module) в том же окружении. Понятие окружения определяется в реализации.

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

1. Раздел имени модуля (module name clause) определяет необязательный идентификатор (identifier) как имя модуля (module name), определяющее содержащий модуль (module) в данном окружении.

Процедура (procedure)

Функция

Определяет процедуру и оператор языка SQL.

Формат

procedure ::=

PROCEDURE procedure name

parameter declaration...;

SQL statment;

parameter declaration::=

parameter name data type

| SQLCODE parameter

SQLCODE parameter ::=

SQLCODE

SQL statement ::=

close statement

| commit statement

| delete statement positioned

| delete statement searched

| fetch statement

| insert statement

| open statement

| rollback statement

| select statement

| update statement positioned

| update statement searched

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

1. Имя процедуры (procedure name) должно отличаться от имени процедуры (procedure name) любой другой процедуры (procedure) в содержащем модуле.

2. Имя параметра parameter name в каждом объявлении параметра (parameter declaration) в процедуре (procedure) должно отличаться от имени параметра (parameter name) любого другого объявления параметра (parameter declaration) в этой процедуры.

3. Любое имя параметра (parameter name), содержащееся в операторе SQL (SQL statement) процедуры (procedure), должно быть специфицировано в объявлении параметра (parameter declaration) этой процедуры.

4. Если имя столбца (column name) в операторе SQL (SQL statement) совпадает с именем параметра (parameter name) в объявлении параметра (parameter declaration) процедуры (procedure), содержащей этот оператор SQL (SQL statement), то спецификация столбца (column specification), которая содержит это имя столбца (column name), должна содержать квалификатор (qualifier).

5. Законный вызов процедуры (procedure) должен поставлять n параметров, где n - число объявлений параметров (parameter declaration) в данной процедуре (procedure).

6. Процедура должна содержать ровно один параметр SQLCODE (SQLCODE parameter). На параметр, соответствующий параметру SQLCODE, ссыля4аются я0как я4на параметр SQLCODE.

7. Разделом языка (language clause) процедуры являраздел языка (language clause) содержащего модуля (module).

8.

a) Если раздел языка (language clause) специфицирует COBOL, то:

o

i) Типом параметра SQLCODE должен быть COMPUTATIONAL S9(PC), где PC - определяемая реализацией точность, большая или равная 4.

ii) Любой тип данных (data type) в объявлении параметров (parameter declaration) должен быть CHARACTER или NUMERIC.

iii) Если i-ое объявление параметра (parameter declaration) специфицирует тип данных (data type) CHARACTER(L) c некоторой длиной (lenght) L, то тип i-ого параметра должен быть буквенно-цифровым типом языка COBOL длины L.

iv) Если i-ое объявление параметра (parameter declaration) специфицирует тип данных (data type) NUMERIC(P,S) c некоторыми точностью (precision) P и масштабом (scale) S, то типом i-ого параметра должен быть тип языка COBOL usage DISPLAY SIGN LEADING SEPARATE со следующим PICTURE:

1. Если S=P, то PICTURE: "S", за которым следует "V", и затем P экземпляров "9".

2. Если P S 0, то PICTURE: "S", за которым следуют P-S экземпляров "9", затем "V" и затем S экземпляров "9".

3. Если S=O, то PICTURE: "S", за которым следуют P экземпляров "9" и затем необязательное "V".

b) Если раздел языка (language clause) специфицирует FORTRAN, то:

o

i) Тип параметра SQLCODE должен быть типом INTEGER языка FORTRAN.

ii) Любой тип данных (data type) в объявлении параметра должен быть CHARACTER, INTEGER, REAL или DOUBLE PRECISION.

iii) Если i-ое объявление параметра (parameter declaration) специфицирует тип данных (data type) CHARACTER(L) с некоторой длиной (lenght) L, то тип i-ого параметра должен быть типом CHARACTER языка FORTRAN с длиной L.

vi) Если i-ое объявление параметра (parameter declaration) специфицирует тип данных (data type) данных INTEGER, REAL или DOUBLE PRECISION, то тип i-ого параметра должен быть соответственно INTEGER, REAL или DOUBLE PRECISION языка FORTRAN.

c) Если раздел языка (language clause) специфицирует PASCAL, то:

o

i) Тип параметра SQLCODE должен быть типом INTEGER языка Pascal.

ii) Любой тип данных (data type) в объявлении параметра (parameter declaration) должен быть CHARACTER, INTEGER, или REAL.

iii) Если i-ое объявление параметра (parameter declaration) специфицирует тип данных (data type) CHARACTER(L) с некоторой длиной (lenght) L, то тип i-ого параметра должен быть типом строки языка Pascal длины L.

iv) Если i-ое объявление параметра (parameter declaration) специфицирует тип данных (data type) INTEGER или REAL, то тип i-ого параметра должен быть соответственно типом INTEGER, или REAL языка Pascal.

d) Если раздел языка (language clause) специфицирует PL1, то:

o

i) Тип параметра SQLCODE должен быть FIXED BINARY(PP), где РР определяемая реализацией точность, большая или равная 15.

ii) Любой тип данных (data type) в объявлении параметра (parameter declaration) должен быть CHARACTER, DECIMAL, или FLOAT.

iii) Если i-ое объявление параметра (parameter declaration) специфицирует тип данных CHARACTER(L) с некоторой длиной (lenght) L, то тип i-ого параметра должен быть типом CHARACTER языка PL/1 с длиной L.

vi) Если i-ое объявление параметра (parameter declaration) специфицирует тип данных DECIMAL(P,S) с некоторыми точностью (precision) P и масштабом (scale) S, то тип i-ого параметра должен быть типом FIXED REAL DECIMAL(P,S) языка PL/1.

v) Если i-ое объявление параметра (parameter declaration) специфицирует тип данных FLOAT(P) с некоторой точностью (precision) P, то тип i-ого параметра должнен быть типом FLOAT REAL BINARY (P) языка PL/1.

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

1. Процедура (procedure) определяет процедуру, которая может вызываться определяемым реализацией агентом.

RSSСтраница 1 из 8 [Всего 8 записей]1 2 3 4 5 » ... Последняя »


При любом использовании материалов сайта обязательна гиперссылка на сайт «Репетитор».
Разработка и Дизайн компании Awelan
www.megastock.ru
Проверить аттестат