Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы баз денных.doc
Скачиваний:
106
Добавлен:
10.12.2013
Размер:
789.5 Кб
Скачать

3 Вариант – сервер Базы Данных.

Бизнес-правила хранятся на сервере в виде хранимых процедур. Хранимые процедуры – это программы, написанные на некотором языке хранимых процедур с SQL вставками. Их можно написать заранее и поместить в библиотеку.

Рассмотрим операторы для программирования хранимых процедур.

  • Create имя_процедуры (параметры)

[return список выходных данных]

тело

End procedure - создание процедуры;

  • Execute procedure имя (аргументы)[into список переменых] -– выполнение процедуры, созданной заранее;

  • drop procedure имя – удаление хранимой процедуры;

  • define список переменных – позволяет объявить переменные, которые являются локальными в хранимой процедуре;

  • call имя (аргументы) into список переменных – позволяет вызвать другую процедуру;

  • переменная:=выражение – присвоение;

  • if условие then оператор [else оператор] end if – условный оператор;

  • операторы цикла

for переменная:=целое1

to целое2 step целое

end for

while условие

тело

end while

for each имя_курсора

операторы

end for each

Среди операторов ТЕЛА используются следующие:

Exit - позволяет выйти из цикла до его завершения;

Continue – позволяет начать выполнение цикла, не заканчивая предыдущий шаг;

System – позволяет выполнить команды ОС;

Return – позволяет сформировать результаты и вернуть их из процедуры;

Begin

. – блок, часть пограммы, в которой могут быть объявлены

. локальные переменные.

end

4 Вариант – сервер приложений.

С помощью протокола API передается информация о том какие программы и в какой последовательности нужно выполнять.

В технологии клиент-сервер есть специальные активные программы, которые называют триггерами.

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

  • Create trigger имя событие_действие - создание триггера;

  • Drop trigger - удаление.

Запись события:

  • Insеrt on имя_таблицы – наступает тогда, когда в таблицу заносится информация;

  • Delete on таблица – наступает при удалении из таблицы;

  • Update of список_полей on имя_таблицы - возникает при изменении заданных полей в указанной таблице.

Действия бывают трех видов:

  • Before (оператор) – перед добавлением, удалением, изменением;

  • Foreach row (оператор) – для каждой строки таблицы;

  • After (оператор) после добавления, удаления, изменения.

В триггерах есть возможность сослаться на одно и тоже поле до изменения и после:

  • Referencing old as имя – запомнить до изменения;

  • Referencing new as имя – запомнить после изменения;

When (условие)(оператор) – задает дополнительные условия для работы с триггерами.

Пример.

Изменить статус поставщиков только в том случае, если новый статус не меньше старого и не больше 100%.

Нужно создать триггер, который будет обновлять статус:

Create trigger Sstat

Update of статус on Поставщики

Referencing old as c1

Referencing new as c2

Foreach row

When ( с1.статус >=с2.статус)

Execute procedure error (с1.статус,с2.статус)

When (с2.статус>100%)

Execute procedure error1 (с1.статус,с2.статус)

Соседние файлы в предмете Базы данных