SQL Server'da birkaç veritabanı meta verisini bir araya getiren bir görünüm oluşturmak istiyorum. metaBir TSQL görünümündeki veri satırlarından dize birleştirme gerçekleştiriliyor (pivot?)
Tek parça ben sys.syscomments
tabloda hayatlarını istiyoruz - aşağıdaki gibidir Alakalı sütunlar şunlardır: geçene eğer "metin" sütunundaki verileri görebileceğiniz gibi
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!
birden fazla satıra bölünür Maksimum uzunluk (SQL Server'da 8000 bayt/4000 karakter, örneğimde 12 karakter). colid
, metni bir araya getirme sırasını tanımlar.
:
id comment (nvarchar(max))
---- ----------------------------------
1001 A comment.
1002 This is a long comment.
1003 This is an even longer comment!
Herhangi öneri veya çözüm? Hız hiçbir şekilde kritik değildir, ancak basitlik ve düşük etki (CLR işlevlerinden ve benzerlerinden kaçınmak isterim - ideal olarak tüm şey görünüm tanımına dahil edilir). Bazı XML tabanlı önerilere baktım, ancak sonuçlar XML kaçış dizeleriyle dolu metinler üretti.
, ben zaten bu rota aşağı gitmiş basit :-) dediniz. Sonuç, mantıksal karşılaştırma operatörlerinden yeni satırlara kadar her şey için XMl çıkış dizileriyle karıştırılan metindir. Bu bozuk çıkış, LIKE aramaları gibi diğer işlemler için uygun değildir. – David
'David': gönderi güncellemesine bakın. – Quassnoi
Teşekkürler. Bu çok daha yararlı oldu. – David