Nama kolom dengan jalur yang ditentukan sebagai data()
Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance
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 nilai atribut yang ditik daftar. Kueri berikut mengambil ID model produk, nama, dan daftar produk dalam model produk tersebut.
USE AdventureWorks2022;
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 berlapis 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. Sebagai gantinya, nilai dikembalikan sebagaimana ditetapkan ke atribut ProductID dari <ProductModelData>
elemen baris select induk. Ini adalah hasilnya:
<ProductModelData
ProductModelID = "7"
ProductModelName="HL Touring Frame"
ProductIDs="885 887 888 889 890 891 892 893"
/>
Baca juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk