206
Лабораторная работа №10. Хранимые процедуры
Цель работы: Ознакомиться с хранимыми процедурами в ERWin. Исто-
рия модели.
Теоретические сведения
Хранимые процедуры
Хранимой процедурой называется именованный набор прекомпили-
рованных команд SQL, который работает точно так же, как и триггер,
только он обычно вызывается из другой программы, а не выполняется ав-
томатически, как реакция на событие.
Поскольку триггеры и
хранимые процедуры имеют большое значение
для ускорения работы и поддержания целостности, ERwin располагает
специальными редакторами Trigger и Stored Procedure со встроенными
шаблонами и мощными макрокомандами, которые могут существенно ус-
корить процесс создания этих процедур SQL.
Хранимой процедурой называется блок кода SQL, подобный тригге-
ру, который хранится на сервере для быстрого выполнения. Хранимая
процедура напоминает триггер, с той разницей, что она не откликается на
какое-то событие, как RI-тригер. Вместо этого она вызывается из другой
программы, которая передает на сервер имя процедуры. Хранимой проце-
дуре можно передавать параметры и она может возвращать параметры,
значения и сообщения, вызывать другие хранимые процедуры. Различают
хранимые
процедуры выбора и процедуры действия.
При создании хранимой процедуры можно использовать панель инст-
рументов Trigger и предопределенные макрокоманды ERwin, чтобы вста-
вить нужный код в окно Template Code. После того как код шаблона для
хранимой процедуры написан, ее можно связать с отдельной сущностью
или со всей схемой. Когда создается в физической схеме
базы данных таб-
лица, связанная с сущностью, ERwin автоматически расширяет код шаб-
лона и создает все связанные с ним хранимые процедуры с соблюдением
синтаксиса SQL для конкретной СУБД точно так же, как он создает триг-
геры, связанные с сущностями и связями ERwin.
В отличие от RI-триггера, который реагирует на определенное
изме-
нение данных в таблице, хранимая процедура может выполнять практиче-
ски любой тип действий. Эта гибкость является причиной того, что надо
задавать шаблон хранимой процедуры с нуля. Не существует встроенных
шаблонов хранимых процедур, которые можно было бы использовать как
отправной пункт при создании новой хранимой процедуры.
Можно вводить выражения SQL
непосредственно в окна редакторов
шаблонов ERwin. Если вводится код SQL для хранимых процедур в ERwin,
то можно использовать возможности просмотра и генерации отчетов в
ERwin для того, чтобы просмотреть все процедуры, связанные со схемой, а
также те, которые связаны с отдельными сущностями. Задавая хранимые