Utilizar las anotaciones sql:guid y sql:identity

Puede especificar las anotaciones sql:guid y sql:identity en un esquema XSD en cualquier nodo que se asigne a una columna de base de datos en MicrosoftSQL Server. Mientras que el formato de diagrama de actualización (updategram) admite los atributos updg:guid y updg:at-identity, el formato de DiffGram no. El atributo updg:at-identity define el comportamiento al actualizar una columna de tipo IDENTITY. El atributo updg:guid permite obtener un valor GUID de SQL Server y utilizarlo en el diagrama de actualización. Para obtener más información y ejemplos prácticos, vea Insertar datos con diagramas de actualización XML (SQLXML 4.0).

Las anotaciones sql:guid y sql:identity extienden esta funcionalidad a los DiffGrams.

Cuando se ejecuta un DiffGram, primero se convierte en un diagrama de actualización que después se ejecuta. Al especificar las anotaciones sql:guid y sql:identity en el esquema XSD, lo que se está haciendo en realidad es definir el comportamiento de un diagrama de actualización. Por consiguiente, todas las anotaciones se describen en el contexto de un diagrama de actualización. Las anotaciones se pueden utilizar tanto para DiffGrams como para diagramas de actualización; sin embargo, los diagramas de actualización ya proporcionan un modo más eficaz de administrar los valores de identidad y GUID.

Las anotaciones sql:guid y sql:identity se pueden definir en un elemento de contenido complejo.

Anotación sql:identity

Puede especificar la anotación sql:identity en el esquema XSD en cualquier nodo que se asigne a una columna de base de datos de tipo IDENTITY. El valor especificado para esta anotación define cómo se actualiza la columna de tipo IDENTITY (ya sea utilizando el valor proporcionado en el diagrama de actualización para modificar la columna u omitiendo el valor, en cuyo caso se utiliza un valor generado por SQL Server para esta columna).

A la anotación sql:identity se le pueden asignar dos valores:

  • ignore
    Hace que el diagrama de actualización omita cualquier valor que se proporcione en el diagrama de actualización para esa columna y deje que SQL Server genere el valor de identidad.

  • useValue
    Hace que el diagrama de actualización utilice el valor que se proporciona en el diagrama de actualización para actualizar la columna de tipo IDENTITY. Un diagrama de actualización no comprueba si la columna es un valor de identidad o no.

Si el diagrama de actualización especifica un valor para la columna de tipo IDENTITY, se debe especificar sql:identity="useValue" en el esquema.

Anotación sql:guid

Un diagrama de actualización puede hacer que SQL Server genere un valor GUID para después utilizarlo en el diagrama de actualización. En el contexto de los DiffGrams, puede utilizar la anotación sql:guid para especificar si desea utilizar un valor GUID generado por SQL Server o utilizar el valor que se proporciona en el diagrama de actualización para esa columna.

A la anotación sql:guid se le pueden asignar dos valores:

  • generate
    Especifica que el GUID generado por SQL Server se utilice para esa columna en la operación de actualización.

  • useValue
    Especifica que el valor especificado en el diagrama de actualización se utilice para la columna. Este es el valor predeterminado.