Поделиться через


Задание значения атрибута sql:inverse для sql:relationship (SQLXML 4.0)

Атрибут sql:inverse полезен, только при использовании XSD-схемы диаграммой обновления или при массовой загрузке. Атрибут sql:inverse можно задать в элементе <sql:relationship>. В диаграммах обновления их логика задействует схему при определении таблиц и столбцов, обновляемых операцией диаграммы обновления. Связи «родители-потомки», заданные в схеме, определяют порядок, в котором записи будут изменены (вставлены или удалены).

Если в XSD-схеме связь «родители-потомки» задана в обратном порядке отношения «первичный ключ-внешний ключ» между соответствующими столбцами базы данных, операции вставки или удаления диаграммы обновления завершатся ошибкой из-за нарушения «первичный ключ-внешний ключ». В этих случаях в элементе <sql:relationship> задается атрибут sql:inverse (sql:inverse="true"), и логика диаграммы обновления помещает связь «родители-потомки» в обратном порядке, в отличие от заданного в схеме.

Атрибут sql:inverse имеет логическое значение (0=false, 1=true). Допустимые значения: 0, 1, true и false.

Рабочий пример, использующий заметку sql:inverse, см. Определение схемы с заметками сопоставления в диаграмме обновления.