Aracılığıyla paylaş


XML verilerini içine ilişkisel veri bağlama

Belirtebilirsiniz XML veri türü yöntemleri karşı bir xml değişken veya sütun, veri türü. Örneğin, Query() Yöntem (xml veri türü) bir XML örnek karşı belirtilen olan XQuery yürütür. Bu şekilde XML yapılandırma, bir değeri olmayan XML türü sütun ya da bir Transact-SQL değişken getirmek isteyebilirsiniz.Bu işlem için XML içinde bağlama ilişkisel veri olarak adlandırılır.

XML içinde olmayan XML ilişkisel veri bağlamak için , SQL Server veritabanı altyapısı, aşağıdaki pseudo-functions sağlar:

Bu işlevler ile kullanabilirsiniz. xml ilişkisel değer XML içinde sergilemek istediğiniz zaman, yöntem veri türü.

Bu işlevler, veri sütunları veya değişkenler başvuracak biçimde kullanamazsınız xmlCLR kullanıcı tanımlı türler, datetime, smalldatetime, text, ntext, sql_variant, ve image türler.

Ayrıca, bu bağlama, salt okunur amacıyla kullanılır.Diğer bir deyişle, bu işlevleri kullanma sütunlardaki veri yazamaz.Örneğin, sql:variable("@x") = "Bazı ifade" izin verilmiyor.

Örnek: Sql:variable() kullanarak etki alanları arası sorgu

Bu örnekte gösterildiği nasıl SQL:variable() sorguda parameterize uygulama etkinleştirebilirsiniz.ISBN, bir SQL değişken @ isbn kullanarak de geçirilir.Sabit ile değiştirerek SQL:variable(), sorgu, herhangi bir ISBN ve yalnızca, ISBN 0-7356-1588 2 olan bir arama için kullanılabilir.

DECLARE @isbn varchar(20)
SET     @isbn = '0-7356-1588-2'
SELECT  xCol
FROM    T
WHERE   xCol.exist ('/book/@ISBN[. = sql:variable("@isbn")]') = 1

SQL:sütun() benzer şekilde kullanılır ve ek yararlar sağlar.Sütun üzerinde dizin verimlilik için sorgu maliyet temelinde en iyi duruma getiricisi tarafından karar olarak kullanılabilir.Ayrıca, hesaplanan sütun, yükseltilen özellik depolayabilir.