Рис. 16.22.

Макрокоманда

Шаблон

Шаблон

Шаблон

Шаблон

For Each

For Each

Условие If

СУБД

 

ссылочной

Header

Footer

Default

Relationship

Attribute

 

 

 

целостности1

Trigger2

Trigger3

Body4

 

 

 

 

 

 

 

 

 

 

 

 

 

%!=(,) или %<>(,)

 

 

 

 

 

 

X

Все

%%

 

 

 

 

 

 

X

Все

%*()

X

X

X

X

X

X

X

Все

%+()

X

X

X

X

X

X

X

Все

%-()

X

X

X

X

X

X

X

Все

%/()

X

X

X

X

X

X

X

Все

%:

X

X

X

X

X

X

X

Все

%<(,)

 

 

 

 

 

 

X

Все

%<=(,)

 

 

 

 

 

 

X

Все

%=(,)

X

X

X

X

X

X

X

Все

%==(,)

 

 

 

 

 

 

X

Все

%>(,)

 

 

 

 

 

 

X

Все

%>=(,)

 

 

 

 

 

 

X

Все

%Action

 

X

X

X

 

 

 

Все

%Actions()

 

X

X

X

 

 

 

Все

%And(,)

 

 

 

 

 

X

X

Все

%AttDatatype

 

 

 

 

 

X

 

Все

%AttFieldName

 

 

 

 

 

X

 

Все

%AttFieldWidth

 

 

 

 

 

X

 

Все

%AttlsFK

 

 

 

 

 

X

 

Все

%AttlsPK

 

 

 

 

 

X

 

Все

%AttName

 

 

 

 

 

X

 

Все

%AttNullOption

 

 

 

 

 

X

 

Все

%AttPhysDatatype

 

 

 

 

 

X

 

Все

%Atts()

 

X

X

X

 

 

 

Все

%AttValidation

 

 

 

 

 

X

 

 

%Cardinality

X

 

 

 

X

 

 

Все

%Child

X

 

 

 

X

 

 

Все

%ChildAtts()

X

 

 

 

X

 

 

Все

%ChildFK()

X

 

 

 

X

 

 

Все

%ChildFKDecl()

X

 

 

 

X

 

 

Все

%ChildNK()

X

 

 

 

X

 

 

Все

%ChildNKDecl()

X

 

 

 

X

 

 

Все

%ChildParamDecl()

X

 

 

 

X

 

 

Все

%ChildPK()

X

 

 

 

X

 

 

Все

%ChildPKDecl()

X

 

 

 

X

 

 

Все

%Concat()

X

X

X

X

X

X

X

Все

%CustomTriggerDefa

 

 

 

X

 

 

 

Все

ultBody

 

 

 

 

 

 

 

 

%CustomTriggerDefa

 

 

 

X

 

 

 

Все

ultFooter

 

 

 

 

 

 

 

 

%CustomTriggerDefa

 

 

 

X

 

 

 

Все

ultHeader

 

 

 

 

 

 

 

 

%Datetime

X

X

X

X

X

X

X

Все

%DBMS

X

X

X

X

X

X

X

Все

%DBMSDelim

X

X

X

X

X

X

X

Все

%Decl()

X

X

X

X

X

X

X

Все

%Fire

 

X

X

X

 

 

 

Oracle7

 

 

 

 

 

 

 

 

Informix

 

 

 

 

 

 

 

 

Ingres

 

 

 

 

 

 

 

 

Rdb

%ForEachAtt()

X

X

X

X

X

 

 

Все

%ForEachChildRel()

 

X

X

X

 

 

 

Все

ForEachFKAtt()

X

 

 

 

X

 

 

Все

Глава 16

27

Рис. 16.22.

Макрокоманда

Шаблон

Шаблон

Шаблон

Шаблон

For Each

For Each

Условие If

СУБД

 

ссылочной

Header

Footer

Default

Relationship

Attribute

 

 

 

целостности1

Trigger2

Trigger3

Body4

 

 

 

 

 

 

 

 

 

 

 

 

 

ForEachParentRel()

 

X

X

X

 

 

 

Все

%If() [Else()]

X

X

X

X

X

X

 

Все

%Include()

X

X

X

X

X

X

X

Все

%JoinFKPK()

X

 

 

 

X

 

 

Все

%JoinPKPK()

X

X

X

X

X

 

 

Все

%Len()

X

X

X

X

X

X

X

Все

%Lower()

X

X

X

X

X

X

X

Все

%Max()

 

 

 

 

 

 

 

Все

%Min()

X

X

X

X

X

X

X

Все

%NK()

 

X

X

X

 

 

 

Все

%NKDecl()

 

X

X

X

 

 

 

Все

%Not()

 

 

 

 

 

 

X

Все

%NotnullFK()

X

 

 

 

X

 

 

Все

%Or(,)

 

 

 

 

 

 

X

Все

%ParamDecl()

 

X

X

X

 

 

 

Все

%ParamPass()

 

X

X

X

 

 

 

Ingres

%Parent

X

 

 

 

X

 

 

Все

%ParentAtt()

X

 

 

 

X

 

 

Все

%ParentAtts()

X

 

 

 

X

 

 

Все

%ParentNK()

X

 

 

 

X

 

 

Все

%ParentNKDecl()

X

 

 

 

X

 

 

Все

%ParentParamDecl()

X

 

 

 

X

 

 

Все

%ParentPK()

X

 

 

 

X

 

 

Все

%ParentPKDecl()

X

 

 

 

X

 

 

Все

%PhysRelName

X

 

 

 

X

 

 

Все

%PK()

 

X

X

X

 

 

 

Все

%PKDecl()

 

X

X

X

 

 

 

Все

%RefClause

 

X

X

X

 

 

 

Oracle7

 

 

 

 

 

 

 

 

Ingres

 

 

 

 

 

 

 

 

Rdb

 

 

 

 

 

 

 

 

Informix

%RelTemplate

 

 

 

 

X

 

 

Все

%Scope

 

X

X

X

 

 

 

Oracle7

%SetFK()

X

 

 

 

X

 

 

Все

%SetPK()

X

X

X

X

X

 

 

Все

%Substitute()

X

X

X

X

X

X

X

Все

%Substr()

X

X

X

X

X

X

X

Все

%TableName

 

X

X

X

 

 

 

Все

%TemplateName

 

X

X

X

 

 

 

Все

%TriggerName

 

X

X

X

 

 

 

Oracle7

 

 

 

 

 

 

 

 

Ingres

 

 

 

 

 

 

 

 

Rdb

 

 

 

 

 

 

 

 

Informix

%TriggERelRI()

 

 

 

 

 

 

X

Все

%UpdateChildFK()

X

X

X

X

X

 

 

SQL

 

 

 

 

 

 

 

 

Server

 

 

 

 

 

 

 

 

Sybase

 

 

 

 

 

 

 

 

Oracle7

%UpdateParentPK()

X

X

X

X

X

 

 

SQL

 

 

 

 

 

 

 

 

Server

 

 

 

 

 

 

 

 

Sybase

 

 

 

 

 

 

 

 

Oracle 7

%UpdatePK()

 

X

X

X

 

 

 

SQL

 

 

 

 

 

 

 

 

Server

 

 

 

 

 

 

 

 

Sybase

28

Глава 16

Рис. 16.22.

Макрокоманда

Шаблон

Шаблон

Шаблон

Шаблон

For Each

For Each

Условие If

СУБД

 

ссылочной

Header

Footer

Default

Relationship

Attribute

 

 

 

целостности1

Trigger2

Trigger3

Body4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Oracle7

%Upper()

X

X

X

X

X

X

X

Все

%VerbPhrase

X

 

 

 

X

 

 

Все

 

 

 

 

 

 

 

 

 

Прим. 1

PARENT UPDATE RESTRICT PARENT UPDATE CASCADE PARENT UPDATE SET NULL PARENT UPDATE SET DEFAULT PARENT DELETE RESTRICT PARENT DELETE CASCADE PARENT DELETE SET NULL PARENT DELETE SET DEFAULT CHILD INSERT RESTRICT

CHILD INSERT CASCADE CHILD INSERT SET NULL CHILD INSERT SET DEFAULT CHILD UPDATE RESTRICT CHILD UPDATE CASCADE CHILD UPDATE SET NULL

CHILD UPDATE SET DEFAULT

CHILD DELETE RESTRICT CHILD DELETE CASCADE CHILD DELETE SET NULL

CHILD DELETE SET DEFAULT PARENT INSERT RESTRICT PARENT INSERT CASCADE PARENT INSERT SET NULL PARENT INSERT SET DEFAULT

Прим. 2

TRIGGER UPDATE HEADER TRIGGER DELETE HEADER TRIGGER INSERT HEADER CUSTOM TRIGGER HEADER

Прим. 3

TRIGGER UPDATE FOOTER TRIGGER DELETE FOOTER TRIGGER INSERT FOOTER CUSTOM TRIGGER FOOTER

Прим.4

CUSTOM TRIGGER DEFAULT BODY

Глава 16

29

Краткое повторение главы 16

Как задать режимы ссылочной целостности (RI)

Войдите в редактор RI из меню Editor или из меню, ориентированного на связь.

Как войти в редактор Trigger Template

Войдите в редактор RI или меню “<DB> Entity Trigger”.

Как просмотреть триггеры и шаблоны

Войдите в редактор “<DB> Trigger” из меню Editor.

Как модифицировать и создавать триггеры

Откройте Trigger Toolbox из любого редактора Trigger Template.

Как использовать встроенные триггеры

Ничего не делайте. Встроенные триггеры автоматически конфигурируются, когда Вы задаете объекты и устанавливаете режимы RI.

Как создавать глобальные шаблоны RI-триггеров

С помощью редактора Trigger Template.

Как применять глобальные шаблоны RI-триггеров

Присваивая переопределения (User Override) в редакторе Trigger Template.

Как создавать уникальные триггеры для связи

В редакторе Trigger Template измените код триггера, который был сгенерирован для связи.

Как реализовать расширенные правила в триггерах

В соответствующем редакторе Trigger Template создайте или измените код шаблона триггера так, чтобы он поддерживал расширенные правила (business rules).

Как генерировать триггеры для использования в отчетах или в СУБД

Включите необходимые режимы Triggers в редакторе Target Server Schema Report.

30

Глава 16