RI-триггеры, устанавливаемые ERwin по умолчанию
Для того чтобы создать триггер, Вам в обычном случае требуется ввести нужный код SQL и поместить его на сервер. Чтобы сэкономить Ваше время, ERwin предлагает Вам набор шаблонов RI-триггеров, устанавливаемых по умолчанию, которые используют для автоматической генерации кода SQL предопределенные макрокоманды. Макрокоманды ERwin содержат скелетный код языка SQL, в который вставляются при генерации физической схемы базы данных имена таблиц и другие переменные. Ниже приводятся примеры макро-кода триггера ERwin и расширенного кода, который экспортируется из ЕRwin на сервер в процессе генерации схемы.
/* ERwin Builtin %Datetime */
/* %Parent %Verbphrase %Child ON PARENT DELETE RESTRICT */
if exists (
select * from deleted, %Child
where
/* %%JoinFKPK(%Child, deleted, ' = ', ' and') */
%JoinFKPK(%Child, deleted, ' = ',' and')
)
begin
select @errno = 30001,
@ errmsg = 'Cannot DELETE '%Parent' because '%Child' exists. '
goto error
end
Рис. 16.2. Пример макрокода - часть шаблона RI-триггера.
create trigger tDMOVIE on MOVIE for DELETE as
/* ER
Глава 16 Триггеры и Хранимые Процедуры