| Макрокоманда | Описание | СУБД |
| %!=(<macro codeb>, <macro code 2>) | Оператор сравнения, !=, возвращает TRUE, если аргументы macro code1 и macro code 2 равны | Все |
| %% | Два символа % необходимо использовать, если расширенный текст триггера должен содержать один символ % | Все |
| %"(<тасго code1>, <macro code 2>) | Перемножает аргументы macro code1 и macro code 2 | Все |
| %+(<macro code1>, <macro code 2>) | Складывает аргументы macro code1 и macro code 2 | Все |
| %-(<macro code1>, <macro code 2>) | Вычитает один аргумент из другого (macro code1 и macro code 2) | Все |
| %/(<macro code1>, <macro code 2>) | Делит один аргумент на другой (macro code1 и macrocode2) | Все |
| %:<variable> | Возвращает значение <variable> | Все |
| %<(<macro code1>, <macro code 2>) | Оператор сравнения, <, возвращает TRUE, если аргумент macro code1 меньше, чем macro code 2 | Все |
| %<=(<macro code1 >, <macro code 2> | Оператор сравнения, <=, возвращает TRUE, если аргумент macro code1 меньше или равен macro code 2 | Все |
| %=(<variable>,<macro code>) | Присваивает аргумент <macro code> переменной <variable> | Все |
| %=(<macro code1>, <macro code 2> | Оператор сравнения, = =, возвращает TRUE, если аргумент macro code1 равен macro code 2 | Все |
| %>(<macro code1>, <macro code 2>) | Оператор сравнения, >, возвращает TRUE, если аргумент macro code1 больше, чем macro code 2 | Все |
| %>=(<macro code1 >, <macro code 2>) | Оператор сравнения, >=, возвращает TRUE, если аргумент macro code1 больше или равен macro code 2 | Все |
| %Action | Возвращает имя команды, до или после которой срабатывает триггер, например INSERT, UPDATE,DELETE | Все |
| %Actions(<separator>) | Возвращает список команд, до или после которых срабатывает триггер, например INSERT or UPDATE | Все |
| %And (<macro code1>,<macro code2>) | Выполняет операцию "логическое И" над булевыми предикатами, заданными | Все |
| в <macro codeb и <macro code2> | |
| %A(tDatatype | Возвращает тип данных текущего атрибута | Все |
| %AttDef | Возвращает определение атрибута | Все |
| %AttDefault | Возвращает имя значения по умолчанию, связанное с атрибутом | Все |
| %AttDomain | Возвращает имя домена, связанное с атрибутом | Все |
| %AttFieldname | Возвращает имя колонки, соответствующей атрибуту | Все |
| %AttFieldWidth | Возвращает целое число, представляющее длину типа данных текущего атрибута, например varchar(50) –>50) | Все |
| " %AttlD | Возвращает ID атрибута | Все |
| %AttlsFK | Булев предикат, который может быть использован как условие в выражении %If. Он определяет, входит ли текущий атрибут в состав внешнего ключа | Все |
| %AttlsRolenamed | Булев предикат, который может быть использован как условие в выражении %If. Он определяет, является ли текущий атрибут именем роли | Все |
| %AttlsPK | Булев предикат, который может быть В использован как условие в выражении | Все |
| атрибут в состав первичного ключа | |
| %AltName | атрибута | Все |
| %AttNullOption | Возвращает строку, представляющую режим нулевых значений для текущего атрибута (NULL /NOT NULL) | Все |
| %AttPhysDatatype | Возвращает физический тип данных текущего атрибута независимо от того, является ли этот тип данных типом данных, определенным пользователем | Все |
| %Atts(<separator>,<function>,<prefix>) | Выдает список всех атрибутов сущности для каждого элемента | Все |
| %AttValidation | Возвращает имя правила валидации, связанного с данным атрибутом; может быть использован в ForEachAtt или ForEachFKAtt | Все |
| %Cardinality | Возвращает мощность (кардинальность) связи | Все |
| %Child | Возвращает физическое имя таблицы дочерней сущности в связи | Все |
| %ChildAtts(<separator>, <function>,<prefix>) | Возвращает список всех атрибутов дочерней сущности в связи, выполняя заданную функцию для каждого элемента | Все |
| %ChildFK(<separator>, <function>) | Возвращает список внешних ключей дочерней сущности в связи, выполняя заданную функцию для каждого элемента | Все |
| %ChildFKDecl(<old prefix>, <new prefix>,<separator>) | Возвращает список внешних ключей дочерней сущности в связи с их типами данных (см. %ParamDecl) | Все |
| %ChildNK(<separator>, <function>,<prefix>) | Генерирует разделенный список функций для всех неключевых атрибутов дочерней сущности в связи, выполняя заданную функцию для каждого элемента | Все |
| %ChildNKDecl(<old prefix>, | Возвращает список неключевых атрибутов дочерней сущности связи с их типами данных | Все |
| %ChildParamDecl(<old prefix>, <new prefix>,<separator>) | Возвращает список атрибутов дочерней сущности связи с их типами данных (см. %ParamDecl) | Все |
| %ChildPK<separator>, <function>,<prefix>) | Генерирует разделенный список функций для каждого элемента первичного ключа дочерней сущности, выполняя заданную функцию для каждого элемента (например, iipdate(customernumber) or update(customername) or....) | Все |
| %ChildPKDecl(<old prefix>, <new prefix>,<separator>) | Возвращает список атрибутов первичного ключа дочерней сущности связи с их типами данных (см. %ParamDecl) | Все |
| %Concat(<value1>,<value2>) | Производит конкатенацию <value1> и <value2>. Возвращает результат | Все |
| %CurrentDatabase | Возвращает имя БД, которое используется в диалоге LOGIN при генерации скрипта | Все |
| %CurrentFile | Возвращает имя файла модели (.ER1), на основе которой генерируется скрипт | Все |
| %CurrentServer | Возвращает имя сервера, для которого генерируется скрипт | Все |
| %CurrentUser | Возвращает имя пользователя, которое используется в диалоге LOGIN при генерации скрипта | Все |
| %CustomTriggerDefaultBody | Часть триггера, определенного пользователем - default body, которая содержится в diagram-wide-сегменте шаблона CUSTOM TRIGGER FOOTER | Все |
| %CustomTriggerDefaultFooter | Часть триггера, определенного пользователем - default footer, которая содержится в diagram-wide-сегменте шаблона CUSTOM TRIGGER FOOTER | Все |
| %CustomTriggerDefaultHeader | Часть триггера, определенного пользователем - default header, которая содержится в diagram-wide-сегменте шаблона CUSTOM TRIGGER HEADER | Все |
| %DalatypeName() | Возвращает тип данных | Все |
| %DatatypeScale() Дл | Для десятичных типов данных возвращает разряд числа | Все |
| %DatatypeWidth() В | Возвращает ширину поля | Все |
| %Datelime • В т | Возвращает строку, представляющую В текущую дату и время | Все |
| %DBMS | Возвращает имя СУБД | Все |
| %DBMSDelim В | Возвращает разделитель операторов | Все |
| СУБД | |
| %Decl(<afg>,<initial value>) 0 | Объявляет <arg> как переменную и, если В это задано, присваивает ей значение | Все |
| <initial value> | |
| %DefaultName | Возвращает имя по умолчанию В | Все |
| %DefaultValue | Возвращает значение по умолчанию | Все |
| %DomainDatatype(<doniain name>) | Возвращает физический тип данных домена | Все |
| %DomainDef(<domain name>) | Возвращает определение домена | Все |
| %DomainName | Возвращает имя домена | Все |
| %DomainNullOption(<domain name>) | Возвращает режим нулевых значений для домена (NULL /NOT NULL) | Все |
| %DomainValidation(<domain name>) | Возвращает имя правила валидации, связанное с доменом | Все |
| %Entityld(<entity or tablename>) | Возвращает ID сущности или таблицы | Все |
| %EntityName(<entity or tablename>) | Возвращает имя сущности или таблицы | Все |
| %File(<filename>, <macro code>) | Макрокод записывается в файл | Все |
| %Fire | Задает, когда срабатывает триггер, например BEFORE или AFTER | INFORMIX |
| | Ingres ORACLE 7 Rdb |
| %ForEachAtt(<table>, <separator>) (<macro code>i | Расширяет макрокод для каждого из атрибутов заданной таблицы | Все |
| %ForEachChildRel (<separator>) t<relationship code>) | связи, в которой сущность триггера является дочерней | Все |
| %ForEachDefault(<separator>) ( ] <nnacro code>) | Расширяет макрокод для каждого значения по умолчанию | Все |
| %ForEachDomain(<separator>) ( <macro code>) | Расширяет макрокод для каждого домена | Все |
| %ForEachEntity(<separator>) { <[nacro code>) | Расширяет макрокод для каждой сущности | Все |
| %ForEachFKAtt(<separator>)<macro code>) | атрибутов внешнего ключа, мигрировавших через текущую связь | Все |
| %ForEachlndex([<table>],[<type>],[ <name>],[<separator>]) <macro code> | Расширяет макрокод для каждого индекса в подмножестве модели | Все |
| %ForEachlndexMem(<sequence>), [<separator>]) <macro code>l | Расширяет макрокод для каждого члена индекса в подмножестве модели | Все |
| %ForEachKey([<table>],[<lype>], [<separator>]) <macro code>) | Расширяет макрокод для всех инвертированных входов и альтернативных ключей в подмножестве модели | Все |
| %ForEachKeyMem(<sequence>!, [<separator>]) <macro code>[ | Расширяет макрокод для всех членов ключей | Все |
| %ForEachParentRel (<separator>) (<relalionship code>) | Расширяет <relationship code> для каждой связи, в которой сущность триггера является родительской | Все |
| %ForEachValidValue <separator>) <macro code> | Расширяет макрокод для всех значений правила валидации | Все |
| %ForEachValidation(<separator>) <macro code>) | Расширяет макрокод для всех правил валидации | Все |
| %lf (<predicate>) {<macro code>} %Else {<macro code>} | В зависимости от условия, расширяет макрокод if или else. Часть else не является обязательной | Все |
| %include("path name") | Позволяет включать макрокоды триггера в файлы | Все |
| %lndexName | Возвращает имя индекса | Все |
| %lndexType | Возвращает тип индекса | Все |
| JoinFKPK(<child table>, <parenttable>, comparison op>,<separator>) | Часть условия поиска оператора Where, присоединяющая внешний ключ дочерней сущности к первичному ключу родительской сущности связи | Все |
| JoinPKPK(<table>, <correlation>, comparison op>,<separator>) | Часть условия поиска оператора Where, соединяющая первичные ключи двух корреляций или таблицы и корреляции | Все |
| %KeyName | Возвращает имя ключа | Все |
| %Len(<macro code>) | Возвращает длину строки <macro code> | Все |
| %Lower(<macro code>) | Преобразует аргумент <macro code> в нижний регистр | Все |
| %Max(<value1>,<value2>) | Возвращает максимальное значение - | Все |
| <уа1ие1>или <value2> | |
| %Min(<value1>,<value2>) | Возвращает минимальное значение - | Все |
| <уа1ие1>или <value2> | |
| %NK(<separator>,<function>,<prefix>) | Выдает список всех неключевых атрибутов сущности триггера, выполняя заданную функцию для каждого элемента | Все |
| %NKDecl(<old prefix;., <new pre(ix>,<separator>) | Выдает список неключевых атрибутов сущности триггера с их типами данных (см. %ParamDecl) | Все |
| %Not(<macro code>) В | н Выполняет операцию "логическое НЕ" | Все |
| над булевым предикатом, определенным в <macro code> | |
| | |
| %NotnullFK(<childtable>, <not null expression>, <prefix>,<separator>) | Часть условия поиска оператора Where, сравнивающая внешний ключ дочерней сущности связи с null. Эта макрокоманда расширяется тогда и только тогда, когда связь является неидентифицирующей, nulls allowed | Все |
| %0r(<macro code1>,<macro code2>) | Выполняет операцию "логическое ИЛИ" над булевыми предикатами, определенными в <macro code1> и <macro code2> | Все |
| %ParamOecl(<old prefix>, <new prefix>,<separator>) | Выдает список всех атрибутов сущности триггера с их типами данных. Имя каждого атрибута имеет формат: <old/new prelix><attname>. Если заданы и старый и новый префикс, то длина списка удваивается. В первой половине списка содержится <old prefix><attname>, во второй -< new prefix><attname> | Все |
| %ParamPass(<old prefix>, <new pref!x>,<param/value separator>,<param separator) | Присваивает значения параметрам процедур, заданным в <old prefix> и/или в <new prefix> для всех атрибутов сущности триггера | Ingres |
| %Parent | Физическое имя таблицы родительской сущности связи | Все |
| %ParentAtt (<attribute macro>) | Расширяет любую макрокоманду атрибута (например, %AttFieldName, %AltDatatype) для атрибута родительского первичного ключа, который, мигрировав, сформировал текущий атрибут | Все |
| %ParentAtts(<separator>, <function>,<prelix>) | Выдает список всех атрибутов родительской сущности связи, выполняя заданную функцию для каждого элемента | Все |
| %ParentNK(<separator>, <function>,<prefix>) | Выдает список всех неключевых атрибутов родительской сущности связи, выполняя заданную функцию для каждого элемента | Все |
| | |
| | |
| %ParentNKDecl(<old prefix>, <new pretix>,<separator>) | Выдает список неключевых атрибутов родительской сущности связи с их типами данных (см. %ParamDecl) | Все |
| %ParentParamDecl(<old prefix>, | Выдает список неключевых атрибутов родительской сущности связи с их типами данных (см. %ParamDecl) | Все |
| %ParentPK(<separator>,<function>) | Выдает список всех атрибутов первичного ключа родительской сущности связи, выполняя заданную функцию для каждого элемента | Все |
| %ParentPKDecl(<old pre(ix>, <new pre(ix>,<separator>) | Выдает список атрибутов первичного ключа родительской сущности связи с их типами данных (см. %ParamDecl) | Все |
| %PnysRelName | | |
| %PK(<separator>, <function>) | Возвращает физическое имя связи | Все |
| Выдает список первичных ключей сущности триггера, выполняя заданную функцию для каждого элемента | |
| %PKDecl(<oldprefix>, <new prefix>,<separator>) | Выдает список атрибутов первичного ключа сущности триггера с их типами данных (см. %ParamDecl) | Все |
| %RefClause %Relld | Оператор ссылок; генерирует: REFERENCES OLD as <old name> new as <new name> | INFORMIX Ingres ORACLE7 Rdb |
| Возвращает ID связи | |
| %RellsNonull | Проверяет null-выражение для связи и возвращает TRUE, если NULL не разрешены | Все Все |
| %RelRI(<action>, <RI Type>) | Возвращает правило ссылочной целостности | Все |
| %RelTemplate %RelType | Расширяет код шаблона, присоединенного к текущей связи. Если нет присоединенного кода, то расширяется соответствующий шаблон ссылочной целостности | Все |
| Возвращает тип связи | |
| %Scope | Задает, каким образом будет выполняться триггер (например, один раз для всей таблицы, для каждой строки и т. д.) | Все ORACLE7 |
| %SetFK(<childtable>,<value>) | Выдает список атрибутов внешнего ключа дочерней сущности связи, в котором каждому элементу присвоено заданное значение | Все |
| %SetPK(<table>,<value>) к | Выдает список атрибутов первичного ключа заданной таблицы, в котором каждому элементу присвоено заданное значение | Все |
| 3 | | |
| %Substitute(<value>,<pattern>, 3 <substitute>) с | вменяет строку <patlem> в строке <value> на В троку <substitute> | Все |
| %Substr(<macro code>, С <initial pos>,<length>) д | Создает подстроку для расширения заданного <macro code> | Все |
| %Switcli(<argument>) {%Choose(<choise1) {macro code 1} {%Choose(<choise2) {macro code 2} <etc...>%Default {macro code n}} | Позволяет расширить макрокод по условию | Все |
| %Table Name В с | Возвращает физическое имя таблицы В сущности триггера | Все |
| %Template Name | Возвращает имя шаблона триггера, хранимой процедуры или скрипта; может быть использовано в редакторе Entity Trigger | Все |
| %Trigger Name | Возвращает физическое имя триггера | Все |
| %TriggerRelRI(<action>, <type>,<integrity>) | Булев предикат, принимающий значение TRUE, если заданный триггер и связь относятся к заданному действию | Все |
| (Child/Parent) и целостности (Cascade/Restrict/Set Null/Set Default) | |
| %UpdateChildFK() | Вьщает список внешнего ключа дочерней сущности связи, выполняя функцию update для каждого элемента | ORACLE7, SQL Server SYBASE |
| %UpdateParentPK() | Выдает список первичного ключа родительской сущности связи, выполняя функцию update для каждого элемента | ORACLE7, SQL Server SYBASE |
| %UpdatePK() | Вьщает список первичного ключа сущности триггера, выполняя функцию update для каждого элемента | ORACLE7, SQL Server SYBASE |
| %Upper(<macro code>) | Преобразует аргумент <macro code> в нижний регистр | Все |
| %ValidationHasValidValues(<arg>) | валидации <агд> имеет допустимые значения, иначе - FALSE | Все |
| %ValidalionName | Возвращает имя правила валидации | Все |
| %ValidationRule(<validationname>) или %ValidationRule | Возвращает правило валидации для сервера; может быть использовано в любом месте с аргументом validation name> или в рамках действия правила, без аргументов | Все |
| %ValidValue | Возвращает значение допустимого значения; используется в рамках действия допустимого значения | Все |
| %ValidValueDef | Возвращает определение допустимого значения; используется в рамках действия допустимого значения | Все |
| %VerbPhrase | Возвращает глагольную фразу связи | Все |