Eliminar datos con diagramas de actualización XML (SQLXML 4.0)
Un diagrama de actualización indica una operación de eliminación cuando una instancia de registro aparece en el bloque <before> sin ningún registro correspondiente en el bloque <after>. En este caso, el diagrama de actualización elimina de la base de datos el registro del bloque <before>.
Éste es el formato del diagrama de actualización para una operación de eliminación:
<ROOT xmlns:updg="urn:schemas-microsoft-com:xml-updategram">
<updg:sync [mapping-schema="SampleSchema.xml"] >
<updg:before>
<ElementName />
[<ElementName .../>... ]
</updg:before>
[<updg:after>
</updg:after>]
</updg:sync>
</ROOT>
Puede omitir la etiqueta <after> si el diagrama de actualización sólo realiza una operación de eliminación. Si no especifica el atributo mapping-schema opcional, el valor <ElementName> especificado en el diagrama de actualización se asigna a una tabla de base de datos y los elementos secundarios o atributos se asignan a columnas de la tabla.
Si un elemento especificado en el diagrama de actualización coincide con varias filas de la tabla o no coincide con ninguna, el diagrama de actualización devuelve un error y cancela el bloque <sync> completo. Un elemento del diagrama de actualización sólo puede eliminar un registro a la vez.
Ejemplos
Los ejemplos de esta sección utilizan una asignación predeterminada (es decir, no se especifica ningún esquema de asignación en el diagrama de actualización). Para obtener más ejemplos de diagramas de actualización que usen esquemas de asignación, vea Cómo especificar un esquema de asignación anotado en un diagrama de actualización (SQLXML 4.0).
Para crear ejemplos funcionales mediante los ejemplos siguientes, debe cumplir los requisitos que se especifican en Requisitos para ejecutar los ejemplos de SQLXML.
A. Eliminar un registro mediante un diagrama de actualización
Los siguientes diagramas de actualización eliminan dos registros de la tabla HumanResources.Shift.
En estos ejemplos, el diagrama de actualización no especifica ningún esquema de asignación. Por tanto, el diagrama de actualización utiliza la asignación predeterminada, en la que el nombre de elemento se asigna a un nombre de tabla y los atributos o subelementos se asignan a columnas.
Este primer diagrama de actualización está centrado en atributos e identifica dos turnos (Day-Evening y Evening-Night) en el bloque <before>. Dado que no hay ningún registro correspondiente en el bloque <after>, ésta es una operación de eliminación.
<ROOT xmlns:updg="urn:schemas-microsoft-com:xml-updategram">
<updg:sync >
<updg:before>
<HumanResources.Shift ShiftID="4"
Name="Day-Evening"
StartTime="1900-01-01 11:00:00.000"
EndTime="1900-01-01 19:00:00.000"
ModifiedDate="2004-01-01 00:00:00.000" />
<HumanResources.Shift ShiftID="5"
Name="Evening-Night"
StartTime="1900-01-01 19:00:00.000"
EndTime="1900-01-01 03:00:00.000"
ModifiedDate="2004-01-01 00:00:00.000" />
</updg:before>
<updg:after>
</updg:after>
</updg:sync>
</ROOT>
Para probar el diagrama de actualización
Complete el ejemplo B ("Insertar varios registros mediante un diagrama de actualización") de Insertar datos con diagramas de actualización XML (SQLXML 4.0).
Copie el diagrama de actualización anterior en el Bloc de notas y guárdelo como Updategram-RemoveShifts.xml en la misma carpeta que utilizó en "Insertar varios registros mediante un diagrama de actualización" de Insertar datos con diagramas de actualización XML (SQLXML 4.0).
Cree y use el script de prueba de SQLXML 4.0 (Sqlxml4test.vbs) para ejecutar el diagrama de actualización.
Para obtener más información, vea Utilizar ADO para ejecutar consultas SQLXML 4.0.
Vea también