我想在 SQL Server 中创建一个视图,它结合了几条数据库元数据。
我想要的一份元数据存在于sys.syscomments
表中 - 相关列如下:
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!
如您所见,如果“文本”列中的数据超过最大长度(在 SQL Server 中为 8000 字节/4000 个字符,在我的示例中为 12 个字符),则会将其拆分为多行。colid
标识将文本重新组合在一起的顺序。
我想在我的视图中进行查询/子查询以重新组合 sys.syscomments 表中的注释,这样我就有:
id comment (nvarchar(max))
---- ----------------------------------
1001 A comment.
1002 This is a long comment.
1003 This is an even longer comment!
有什么建议或解决方案吗?速度绝不是关键,但简单性和低影响才是关键(我想避免使用 CLR 函数等 - 理想情况下,整个事情都包含在视图定义中)。我研究了一些基于 XML 的建议,但结果产生了用 XML 转义字符串填充的文本。