いくつかのデータベースメタデータを組み合わせたビューをSQLServerで作成したいと思います。
私が欲しいメタデータの1つが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!
ご覧のとおり、「テキスト」列のデータは、最大長(SQLServerでは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エスケープ文字列で満たされたテキストが生成されました。