Что такое хранимые процедуры?
Хранимой процедурой называется именованный набор прекомпилированных команд SQL, который работает точно так же, как и триггер, с той разницей, что он обычно вызывается из другой программы, а не выполняется автоматически, как реакция на событие.
Например, в конце каждого месяца фирма по прокату видеопродукции может захотеть получить список всех фильмов, которые никто не брал в последние 30 дней, и выставить их на распродажу. Чтобы ускорить выполнение этого рутинного запроса, Вам нужно создать хранимую процедуру под названием 'sp_norental', выдающую список всех фильмов, которые никто не брал за последний месяц. В последний день каждого месяца, когда Вы выбираете эту процедуру из меню клиентского приложения, клиент пересылает по сети на сервер только имя хранимой процедуры, и сервер автоматически выполняет все коды, связанные с этим именем. Поскольку весь код процедуры хранится на сервере, Вам не нужно писать все команды SQL, нужные для выполнения запроса, и пересылать их по сети каждый раз, когда Вы хотите найти фильмы, на которые нет спроса, и убрать их со склада.
Поскольку триггеры и хранимые процедуры имеют большое значение для ускорения работы и поддержания целостности, ERwin располагает специальными редакторами Trigger и Stored Procedure со встроенными шаблонами и мощными макрокомандами, которые могут существенно ускорить процесс создания этих процедур SQL.
В первой части данной главы описывается, как использовать RI-триггеры, устанавливаемые ERwin по умолчанию, и как переопределить их, изменяя встроенные шаблоны. Во второй части главы описывается, как создавать в ERwin новые шаблоны, которые Вы можете использовать для создания встроенных процедур, которые могут обрабатывать практически любой тип часто используемой операции с базой данных. Подробная информация по макроязыку шаблонов ERwin приведена в конце главы.