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


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

Применимо к:База данных SQL ServerAzure SQL

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

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

При выполнении дельты она вначале преобразуется в диаграмму обновления, а затем выполняется диаграмма обновления. Указывая заметки 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, а затем использовать это значение в диаграмме обновления. В контексте DiffGrams можно использовать заметку sql:guid, чтобы указать, следует ли использовать значение GUID, созданное SQL Server, или значение, указанное в диаграмме обновления для этого столбца.

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

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

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