или для группы, определяемой, например,
EXECUTE g.somemethod();
или для группы, определяемой, например, ссылкой xref из выборки объектов типа
t по значению
EXECUTE t<cond1,...>.xref.somemethod(); .
Замечание (о триггерах). Отметим, что определённый на уровне представления для компонента ai объектов типа t триггер можно рассматривать как последовательность операторов вида
o.ak := f(… , o.ai, …)выполняемых в ответ на изменение компонента
ai объекта, заданного ссылкой
o. Из этого следует, что к триггерам также можно применять утверждения о транслируемости. В самом деле, предыдущий оператор может быть R-транслирован в оператор
t.ak := (f'(… , t.ai, …) JOIN g) UNION (t.ak JOIN (objects(t) MINUS g))
где
g определяет существования явно заданной группы объектов (возможно, содержащей один единственный объект). Выполнение R-транслированной последовательности таких операторов изменит состояние системы таким образом, как будто исходный триггер был выполнен для каждого объекта из группы
g.
Содержание Назад Вперед