Bagikan melalui


Nama Kolom dengan Jalur Yang Ditentukan sebagai data()

Jika jalur yang ditentukan sebagai nama kolom adalah "data()", nilai diperlakukan sebagai nilai atom dalam XML yang dihasilkan. Karakter spasi ditambahkan ke XML jika item berikutnya dalam serialisasi juga merupakan nilai atomik. Ini berguna saat Anda membuat elemen dan atribut yang bertipe daftar. Kueri berikut mengambil ID model produk, nama, dan daftar produk dalam model produk tersebut.

USE AdventureWorks2012;  
GO  
SELECT ProductModelID       AS "@ProductModelID",  
       Name                 AS "@ProductModelName",  
      (SELECT ProductID AS "data()"  
       FROM   Production.Product  
       WHERE  Production.Product.ProductModelID =   
              Production.ProductModel.ProductModelID  
      FOR XML PATH (''))    AS "@ProductIDs"  
FROM  Production.ProductModel  
WHERE ProductModelID= 7   
FOR XML PATH('ProductModelData');  

SELECT bersarang mengambil daftar ID produk. Ini menentukan "data()" sebagai nama kolom untuk ID produk. Karena mode PATH menentukan string kosong untuk nama elemen baris, tidak ada elemen baris yang dihasilkan. Sebaliknya, nilai-nilai dikembalikan tepat seperti yang telah ditetapkan ke atribut ProductIDs dari elemen baris SELECT induk <ProductModelData>. Ini adalah hasilnya:

<ProductModelData ProductModelID="7"

ProductModelName="HL Touring Frame"

ProductIDs="885 887 888 889 890 891 892 893" />

Lihat Juga

Gunakan Mode JALUR dengan FOR XML