Colección de esquemas XML de SQL Server es un concepto interesante y me resulta muy útil al diseñar contenido de datos dinámicos. Sin embargo, a medida que avanzo en la implementación de las Colecciones de esquemas, me resulta muy difícil mantenerlos.Modificación de la colección de esquemas de SQL Server
Colección de esquemas DDL solo permite CREAR y ALTERAR/AGREGAR nodos a esquemas existentes.
CREATE XML SCHEMA COLLECTION [ <relational_schema>. ]sql_identifier AS 'XSD Content'
ALTER XML SCHEMA COLLECTION [ <relational_schema>. ]sql_identifier ADD 'Schema Component'
Cuando desee eliminar cualquier nodo de un esquema, debe emitir los siguientes DDL.
- Si esa colección de esquemas asignado a una columna de la tabla, se tienen que modificar la tabla para eliminar asociación colección de esquemas de esa columna
- gota la colección de esquemas objeto
- Re-Crear colección de esquemas mesa
- Alter columna para volver a asociar la colección de esquemas a esa columna.
Esto es dolor cuando se trata de más de 100 esquemas en una colección. También debe volver a crear índices XML de nuevo, si los hubiera.
¿Alguna solución, sugerencia o truco para facilitar este proceso de edición de objetos de colección de esquemas?
Buena pregunta. Siempre quise saber cómo funciona exactamente ALTER/ADD, y cómo manipula el XML original. – devio
es este tipo de soporte deficiente para los tipos XML en SQL Server 2005 lo que nos hizo alejarnos de ellos. Parecen ordenados, pero hay una gran cantidad de problemas más adelante. Lo peor para nosotros fue: incapacidad de usar una tabla con columnas de tipo XML en una consulta distribuida (servidor vinculado); y las columnas calculadas son difíciles de secuenciar debido a la orden de dependencias. Solo di no, y haz relacional puro. –