Использование заметок sql:identity и sql:guid
В XSD-схеме можно задать заметки sql:identity и sql:guid на любом узле, который сопоставляется со столбцом в базе данных 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, то этим фактически определяется поведение диаграммы обновления. Поэтому все заметки описаны в контексте диаграммы обновления. Заметки можно использовать как для дельты, так и для диаграммы обновления, но диаграммы обновления уже предоставляют более эффективный способ обработки значений identity 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
Указывает, что для обновления столбца используется значение, заданное в диаграмме обновления. Это значение по умолчанию.