Структурно-функциональный подход к проектированию информационных технологий и автоматизированных систем с использованием САSЕ-средств. Фашрахманов Р.А - 202 стр.

UptoLike

202
Toolbox, чтобы ускорить процесс написания кодов. Чтобы про-
смотреть расширенный код, щелкните по окну Expanded Code и
используйте scrollbars, рамку окна и (или) кнопку Maximize,
чтобы увеличить размер окна.
9.5. Нажмите кнопку ОК для выхода из редактора в диаграмму.
Примечание: Чтобы ERwin начал использовать шаблоны Entity
Override вместо встроенных, включите
режим Entity Override в редакто-
ре Schema Generation Report, когда будете генерировать физическую
схему базы данных.
При создании триггеров для сущностей и связывании их с конкрет-
ными сущностями ERwin не может использовать свою стандартную схему
для комбинирования разных встроенных шаблонов. Вы должны взять на
себя написание кода, который контролирует, каким образом
комбиниру-
ются шаблоны для этих сущностей. ERwin предоставляет набор специаль-
ных управляющих макрокоманд, включая макрокоманды, которые про-
сматривают все связи в поисках заданной сущности.
10. Проанализируйте пример триггера Entity Override
Ниже приводится исходный код шаблона для создания триггера Spe-
cial order-line insert для сущности Order.
create trigger %TriggerName on %TableName
for %Actions(,)
as
/* ERwin Builtin %Datetime */
/* %Actions(",") trigger on %TableName */
/* default body for %TriggerName */
begin
declare @numrows int,
@nullcnt int,
@validcnt int,
%PKDecl(,@ins)%decl(bComma,0)%ForEachAtt() {%if(%AttIsPk) {%=(bComma,1)}
}%if (%==(%:bComma,1)) {,}
@errno int,
@errmsg varchar(255)
select @numrows = @@rowcount
%ForEachChildRel() {
%RelTemplate
}
%ForEachParentRel() {
%RelTemplate
}
return
error:
raiserror @errno @errmsg
rollback transaction
end
go
            Toolbox″, чтобы ускорить процесс написания кодов. Чтобы про-
            смотреть расширенный код, щелкните по окну Expanded Code и
            используйте scrollbars, рамку окна и (или) кнопку Maximize,
            чтобы увеличить размер окна.
         9.5. Нажмите кнопку ″ОК″ для выхода из редактора в диаграмму.
      Примечание: Чтобы ERwin начал использовать шаблоны ″Entity
Override″ вместо встроенных, включите режим ″Entity Override″ в редакто-
ре ″Schema Generation Report″, когда будете генерировать физическую
схему базы данных.
      При создании триггеров для сущностей и связывании их с конкрет-
ными сущностями ERwin не может использовать свою стандартную схему
для комбинирования разных встроенных шаблонов. Вы должны взять на
себя написание кода, который контролирует, каким образом комбиниру-
ются шаблоны для этих сущностей. ERwin предоставляет набор специаль-
ных управляющих макрокоманд, включая макрокоманды, которые про-
сматривают все связи в поисках заданной сущности.
      10. Проанализируйте пример триггера Entity Override
      Ниже приводится исходный код шаблона для создания триггера Spe-
cial order-line insert для сущности Order.
    create trigger %TriggerName on %TableName
     for %Actions(″,″)
      as
    /* ERwin Builtin %Datetime */
    /* %Actions(",") trigger on %TableName */
    /* default body for %TriggerName */
    begin
      declare @numrows int,
           @nullcnt int,
           @validcnt int,

     %PKDecl(,@ins)%decl(bComma,0)%ForEachAtt() {%if(%AttIsPk) {%=(bComma,1)}
 }%if (%==(%:bComma,1)) {,}
            @errno int,
            @errmsg varchar(255)
      select @numrows = @@rowcount
    %ForEachChildRel() {
      %RelTemplate
    }
    %ForEachParentRel() {
      %RelTemplate
    }
      return
    error:
       raiserror @errno @errmsg
       rollback transaction
    end
    go



                                      202