Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
Bu örnekte, ÖĞESI ile XML yönergeleri arasındaki fark gösterilmektedir.
ELEMENT yönergesi verileri oluşturur, ancak XML yönergesi bunu yapmaz.
<Summary> öğesine sorguda XML <Summary>This is summary description</Summary>atanır.
Şu sorguyu göz önünde bulundurun:
USE AdventureWorks2022;
GO
SELECT 1 as Tag,
0 as Parent,
ProductModelID as [ProductModel!1!ProdModelID],
Name as [ProductModel!1!Name],
NULL as [Summary!2!SummaryDescription!ELEMENT]
FROM Production.ProductModel
WHERE ProductModelID=19
UNION ALL
SELECT 2 as Tag,
1 as Parent,
ProductModelID,
NULL,
'<Summary>This is summary description</Summary>'
FROM Production.ProductModel
WHERE ProductModelID = 19
FOR XML EXPLICIT;
Sonuç budur. Özet açıklaması, sonuçta yer alır.
<ProductModel ProdModelID="19" Name="Mountain-100">
<Summary>
<SummaryDescription><Summary>This is summary description</Summary></SummaryDescription>
</Summary>
</ProductModel>
Şimdi, ELEMENT yönergesi yerine Summary!2!SummaryDescription!XMLsütun adında XML yönergesini belirtirseniz, özet açıklamayı entitlendirilmeksizin alırsınız.
<ProductModel ProdModelID="19" Name="Mountain-100">
<Summary>
<SummaryDescription>
<Summary>This is summary description</Summary>
</SummaryDescription>
</Summary>
</ProductModel>
Aşağıdaki sorgu statik XML değeri atamak yerine query() türünün yöntemini kullanarak xml türünün CatalogDescription sütunundan ürün modeli özet açıklamasını alır. Sonucun xml türünde olduğu bilindiğinden, hiçbir varlık dönüşümü uygulanmaz.
SELECT 1 as Tag,
0 as Parent,
ProductModelID as [ProductModel!1!ProdModelID],
Name as [ProductModel!1!Name],
NULL as [Summary!2!SummaryDescription]
FROM Production.ProductModel
WHERE CatalogDescription is not null
UNION ALL
SELECT 2 as Tag,
1 as Parent,
ProductModelID,
Name,
(SELECT CatalogDescription.query('
declare namespace pd="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription";
/pd:ProductDescription/pd:Summary'))
FROM Production.ProductModel
WHERE CatalogDescription is not null
ORDER BY [ProductModel!1!ProdModelID],Tag
FOR XML EXPLICIT;
Ayrıca bkz.
- FOR XML ile AÇıK Modu Kullanma