<defaul value>, <value>, <initial value> - определяемый пользователем текст или числовое значение, применяемое при генерации;
<predicate> - булево выражение, которое может возвращать значение FALSE или TRUE;
<prefix>, <old prefix>, <new prefix> - фрагмент текста или числовое выражение, которое добавляется перед именем таблицы или колонки при генерации;
<separator> - разделитель, который вставляется в текст триггера или процедуры при генерации (заключается в двойные кавычки);
<table name>, <default name>, <domain name>, <validation> - имя таблицы, значения по умолчанию, домена и правила валидации;
<variable> - переменная, использующаяся в триггере.
Макрокоманда | Описание | СУБД |
%!=(<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 | Возвращает глагольную фразу связи | Все |