Me gustaría crear una vista en SQL Server que combine varias piezas de metadatos de la base de datos.Realización de concatenación de cadenas a partir de filas de datos en una vista TSQL (¿pivote?)
Una pieza de metadatos Quiero vidas en la tabla sys.syscomments
- las columnas relevent son los siguientes:
id colid text
---- ------ -------------
1001 1 A comment.
1002 1 This is a lo
1002 2 ng comment.
1003 1 This is an e
1003 2 ven longer c
1003 3 omment!
Como se puede ver los datos en la columna "texto" se divide en varias filas si pasa la longitud máxima (8000 bytes/4000 caracteres en SQL Server, 12 caracteres en mi ejemplo). colid
identifica el orden en el que volver a armar el texto.
me gustaría hacer consultas/sub consulta en mi opinión, para volver a montar los comentarios de la tabla sys.syscomments, por lo que tengo:
id comment (nvarchar(max))
---- ----------------------------------
1001 A comment.
1002 This is a long comment.
1003 This is an even longer comment!
Cualquier sugerencia o soluciones? La velocidad no es de ninguna manera crítica, pero la simplicidad y el bajo impacto es (me gustaría evitar las funciones CLR y similares; lo ideal sería que todo estuviera envuelto en la definición de la vista). He analizado algunas sugerencias basadas en XML, pero los resultados han producido texto lleno de cadenas de escape XML.
Como se menciona en la pregunta, que ya han pasado por este camino. El resultado es un texto plagado de secuencias de escape de XMl para todo, desde operadores lógicos de comparación hasta nuevas líneas. Esta salida ilegible no es adecuada para otras operaciones, como búsquedas LIKE. – David
'@ David': ver la actualización de la publicación. – Quassnoi
Gracias. Esto fue mucho más útil. – David