Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД / БД / Базы данных Учебник Окончательный вариант!!!.doc
Скачиваний:
209
Добавлен:
22.05.2015
Размер:
1.77 Mб
Скачать

2.9.2 Drop view - удалить вид на таблицу данных

Синтаксис

DROP VIEW имя;

Описание

DROP VIEW удаляет вид на таблицы данных созданный до этого CREATE VIEW.

Пример:

DROP VIEW myorders;

Удаляет созданный до этого вид на таблицы данных с именем 'myorders'

2.10 Пользовательские процедуры

2.10.1 Create procedure - создать пользовательскую процедуру

Синтаксис

CREATE [ DBA ] PROCEDURE Prozedurname ( [ { Parametername { Feldtyp | REFERENCES { BYTE | TEXT } } [ DEFAULT { Wert | NULL } ] } [,...] ] ) [ RETURNING { Feldtyp | REFERENCES { BYTE | TEXT } } ; ] [ Statement ; ] [...] END PROCEDURE ;

Описание

CREATE PROCEDURE создает процедуру базы данных (подпрограмму/функцию) , которая может быть использована в командах SQL или в процедурах и программах.

Пример:

CREATE PROCEDURE table_drop ( )

DROP TABLE proc_test;

END PROCEDURE;

Создает процедуру 'table drop', которая удаляет при вызове таблицу 'proc_test'.

2.10.2 Dba

Указывает на то, что процедура имеет при исполнении привилегии администратора.

Пример:

CREATE DBA PROCEDURE table_create ( )

CREATE TABLE proc_test (

size smallint,

number smallint,

weight integer

);

END PROCEDURE;

Создает процедуру 'table_create' с привилегиями администратора, которая создает при вызове новую таблицу в базе данных 'proc_test'.

2.10.3 References { byte | text }

REFERENCES ...

Пример : under contsruction ...

Создает процедуру '...'.

2.10.4 Default { Wert | null }

DEFAULT специфицирует значение, которое используется, если в вызове процедуры опущен параметр.

Пример:

CREATE PROCEDURE square ( par INTEGER DEFAULT 0 )

RETURNING INTEGER;

DEFINE rez INTEGER;

LET rez = par * par;

RETURN rez;

END PROCEDURE;

Cоздает процедуру 'square', у которой единственный параметр 'par' не обязателен и по умолчанию равен нулю. Если эта процедура вызвана без параметров, то она возвращает 0*0 назад, иначе - par*par .

2.10.5 Returning { Feldtyp | references { byte | text } }

RETURNING указывает на количество и тип значений, которые возвращает процедура.

Пример:

CREATE PROCEDURE table_insert ( )

RETURNING INT;

DEFINE i INT;

INSERT INTO aam_proc_test (size, number, weight )

VALUES ( 1, 2, 3 );

INSERT INTO aam_proc_test (size, number, weight)

VALUES ( 0, 9, 9 );

LET i = SELECT COUNT(*) FROM proc_test;

RETURN i;

END PROCEDURE;

Здесь создается процедура 'table_insert', которая добавляет в таблицу 'proc_test' две новых строки данных и возвращает количество строк в этой таблице.

2.10.6 Drop procedure - удалить процедуру

Синтаксис

DROP PROCEDURE имя процедуры;

Описание:

DROP PROCEDURE удаляет процедуру из базы данных, создананную до этого с помощью команды CREATE PROCEDURE.

Пример:

DROP PROCEDURE table_show;

Удаляет процедуру 'table_show' из базы данных.

2.10.7 EXECUTE PROCEDURE - выполнить процедуру

Синтаксис

EXECUTE PROCEDURE имя процедуры;

Описание:

EXECUTE PROCEDURE запускает процедуру базы данных.

Пример:

EXECUTE PROCEDURE table_show;

Запускает процедуру 'table_show'.

2.11 ТРАНЗАКЦИИ

2.11.1 BEGIN WORK - начать транзакцию

Синтаксис

BEGIN WORK;

Описание:

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

2.11.2 COMMIT WORK - закончить транзакцию

Синтаксис

COMMIT WORK;

Описание:

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

2.11.3 ROLLBACK WORK - отменить транзакцию

Синтаксис

ROLLBACK WORK;

Описание:

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

Вспомогательные команды

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

2.11.4 SET ISOLATION TO - устанавливать уровень изоляции

Синтаксис

SET ISOLATION TO { DIRTY READ | COMMITTED READ | CURSOR STABILITY | REPEATABLE READ };

Описание:

SET ISOLATION TO DIRTY READ указывает базе данных не обращать внимания на поставленные другой командой, которая изменяет содержание базы данных, запреты доступа к данным.

2.11.5 SET PDQPRIORITY - устанавливать приоритет предоставления ресурсов

Синтаксис

SET PDQPRIORITY nn;

Описание:

Ставит приоритет обработки команд SQL на уровень nn. Приоритет ставится базой данных как правило на уровень 0 (без приоритета), если не указано другого.

Пример:

SET PDQPRIORITY 5

Устанавливает приоритет в 5 единиц (маленький приоритет).

2.11.6 SET LOCK MODE TO WAIT – таймоуты

Синтаксис

SET LOCK MODE TO WAIT nn;

Описание:

Устанавливает определенный таймоут (время, которое система ждет освобождения доступа к данным).

Пример:

SET LOCK MODE TO WAIT 60;

Ставит таймоут на 60 секунд.

2.12 ОБЩАЯ ИНФОРМАЦИЯ И ОПРЕДЕЛЕНИЯ

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

2.12.1 Синтаксические диаграммы, использованные в этом тексте

Вертикальная черта | указывает на то, что в команде SQL может быть использаван лишь один из элементов слева или справа от нее. Эту вертикальную черту не используют в тексте программы.

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

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

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

Соседние файлы в папке БД