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


Использование заметок sql:identity и sql:guid

Заметки sql:identity и sql:guid можно указать в схеме XSD на любом узле, который сопоставляется со столбцом базы данных в Microsoft SQL Server. Хотя формат диаграммы обновления поддерживает атрибуты updg:at-identity и updg:guid, формат дельты их не поддерживает. Атрибут updg:at-identity определяет поведение при обновлении столбца с типом IDENTITY. Атрибут updg:guid позволяет получить значение GUID из SQL Server и использовать его в диаграмме обновления. Дополнительные сведения и рабочие примеры см. в статье Вставка данных с помощью xml-диаграмм обновления (SQLXML 4.0).

Заметки sql:identity и sql:guid расширяют эту функциональность для дельт.

При выполнении дельты она вначале преобразуется в диаграмму обновления, а затем выполняется диаграмма обновления. Если задать заметки sql:identity и sql:guid в схеме XSD, то этим фактически определяется поведение диаграммы обновления. Поэтому все заметки описаны в контексте диаграммы обновления. Заметки можно использовать как для дельт, так и для диаграммы обновления, но диаграммы обновления уже предоставляют более эффективный способ обработки значений идентификаторов и GUID.

Заметки sql:identity и sql:guid можно определять в элементе со сложным содержимым.

Заметка sql:identity

Заметку sql:identity в схеме XSD можно задать на любом узле, который сопоставляется со столбцом IDENTITY в базе данных. Значение, указанное для этой заметки, определяет, как обновляется столбец типа IDENTITY (с помощью значения, указанного в диаграмме обновления для изменения столбца, или путем игнорирования значения, в этом случае для этого столбца используется SQL Server созданное значение).

Заметке sql:identity могут быть присвоены два значения:

ignore
Указывает диаграмме обновления игнорировать любое значение, указанное в диаграмме обновления для этого столбца, и полагаться на SQL Server для создания значения идентификатора.

useValue
Дает диаграмме обновления указание использовать заданное в ней значение для обновления столбца IDENTITY. Диаграмма обновления не проверяет, имеет ли столбец значение идентификатора.

Если в диаграмме обновления задано значение для столбца IDENTITY, в схеме необходимо задать sql:identity="useValue".

Заметка sql:guid

Диаграмма обновления может иметь SQL Server создать значение GUID, а затем использовать это значение в диаграмме обновления. В контексте дельты заметку sql:guid можно использовать для указания, следует ли применять значение GUID, сформированное SQL Server, или значение диаграммы обновления для этого столбца.

Заметке sql:guid могут быть присвоены два значения:

generate
Указывает, что guid, созданный SQL Server использоваться для этого столбца в операции обновления.

useValue
Указывает, что для обновления столбца используется значение, заданное в диаграмме обновления. Это значение по умолчанию.