PATH modu, SELECT sorgusundan XML oluştururken kullanılır
1. SELECT
ID,
Name
FROM temp1
FOR XML PATH;
Ouput:
<row>
<ID>1</ID>
<Name>aaa</Name>
</row>
<row>
<ID>1</ID>
<Name>bbb</Name>
</row>
<row>
<ID>1</ID>
<Name>ccc</Name>
</row>
<row>
<ID>1</ID>
<Name>ddd</Name>
</row>
<row>
<ID>1</ID>
<Name>eee</Name>
</row>
Çıktı, sonuç satır kümesindeki her sütun değerinin bir satır öğesine sarıldığı öğe merkezli XML'dir. SELECT yan tümcesi sütun adları için herhangi bir diğer ad belirtmediğinden, oluşturulan alt öğe adları SELECT yan tümcesindeki karşılık gelen sütun adlarıyla aynıdır.
Satır kümesindeki her satır için bir etiket eklenir.
2.
SELECT
ID,
Name
FROM temp1
FOR XML PATH('');
Ouput:
<ID>1</ID>
<Name>aaa</Name>
<ID>1</ID>
<Name>bbb</Name>
<ID>1</ID>
<Name>ccc</Name>
<ID>1</ID>
<Name>ddd</Name>
<ID>1</ID>
<Name>eee</Name>
Adım 2 için: Sıfır uzunluklu bir dize belirtirseniz, sarma öğesi üretilmez.
3.
SELECT
Name
FROM temp1
FOR XML PATH('');
Ouput:
<Name>aaa</Name>
<Name>bbb</Name>
<Name>ccc</Name>
<Name>ddd</Name>
<Name>eee</Name>
4. SELECT
',' +Name
FROM temp1
FOR XML PATH('')
Ouput:
,aaa,bbb,ccc,ddd,eee
4. Adımda değerleri birleştiriyoruz.
5. SELECT ID,
abc = (SELECT
',' +Name
FROM temp1
FOR XML PATH('') )
FROM temp1
Ouput:
1 ,aaa,bbb,ccc,ddd,eee
1 ,aaa,bbb,ccc,ddd,eee
1 ,aaa,bbb,ccc,ddd,eee
1 ,aaa,bbb,ccc,ddd,eee
1 ,aaa,bbb,ccc,ddd,eee
6. SELECT ID,
abc = (SELECT
',' +Name
FROM temp1
FOR XML PATH('') )
FROM temp1 GROUP by iD
Ouput:
ID abc
1 ,aaa,bbb,ccc,ddd,eee
6. Adımda tarihi kimliğe göre gruplandırıyoruz.
STUFF (source_string, start, length, add_string) Parametreler veya Bağımsız Değişkenler source_string Değiştirilecek kaynak dize. start Uzunluk karakterlerini silmek ve sonra add_string eklemek için source_string içindeki konum. length source_string öğesinden silinecek karakter sayısı. add_string Başlangıç konumunda source_string'e eklenecek karakter dizisi.
SELECT ID,
abc =
STUFF (
(SELECT
',' +Name
FROM temp1
FOR XML PATH('')), 1, 1, ''
)
FROM temp1 GROUP by iD
Output:
-----------------------------------
| Id | Name |
|---------------------------------|
| 1 | aaa,bbb,ccc,ddd,eee |
-----------------------------------