Aracılığıyla paylaş


Data() olarak belirtilen yola sahip sütun adları

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

Sütun adı olarak belirtilen yol ise data(), değer oluşturulan XML'de atomik değer olarak değerlendirilir. Serileştirmedeki bir sonraki öğe de atomik bir değerse XML'e bir boşluk karakteri eklenir. Bu, liste türüne sahip öğe ve öznitelik değerleri oluştururken kullanışlıdır. Aşağıdaki sorgu, bu ürün modelindeki ürün modelinin kimliğini, adını ve listesini alır.

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 sorgusunun iç içe kullanımı, ürün kimliklerinin listesini alır. Ürün kimlikleri için sütun adı olarak "data()" belirtir. PATH modu satır öğesi adı için boş bir dize belirttiğinden, satır öğesi oluşturulmaz. Bunun yerine, değerler üst SELECT'in satır öğesinin <ProductModelData> ProductIDs özniteliğine atanmış olarak döndürülür. Sonuç şu şekildedir:

<ProductModelData
  ProductModelID = "7"
  ProductModelName="HL Touring Frame"
  ProductIDs="885 887 888 889 890 891 892 893"
/>

Ayrıca bakınız