xml verisi ınside ilişkisel veri bağlama
Belirleyebileceğiniz XML veri türü yöntemlerikarşı bir xmlveri türü, değişken veya sütun. Örneğin, Thequery (xml veri türü) yöntemibelirtilen XQuery karşı bir xml örneği çalıştırır. Bu şekilde xml oluşturmak zaman, sen-ebilmek istemek-e olmayan xml türü sütun veya Transact-sql değişken değeri getirmek. Bu işlem için xml içinde ilişkisel veri bağlama denir.
xml içinde olmayan xml ilişkisel veri bağlamak için SQL Server veritabanı altyapısı aşağıdaki pseudo-functions sağlar:
SQL:Column() işlev (XQuery)İlişkisel bir sütundaki değerleri XQuery veya xml dml ifadesinde kullanmanıza olanak sağlar.
SQL:variable() işlevi (XQuery) . sql değişken değeri, XQuery veya xml dml ifadesinde kullanmanıza olanak sağlar.
Sen-ebilmek kullanma bu işlevleri ile xmlveri türü yöntemleri Ilişkisel değer xml içinde duyurmak istediğiniz zaman.
Sen cant'kullanma bu işlevleri veri sütunları veya değişkenleri başvuru xml, kullanıcı tanımlı clr türleri, datetime, smalldatetime, text, ntext, sql_variant, ve imagetürleri.
Ayrıca, bu bağlama salt amaçlıdır. Başka bir deyişle, bu işlevleri kullanmak sütunlara veri yazamaz. Örneğin, sql:variable("@x") = "bazı deyim" izin verilmez.
Örnek: Çapraz etki alanı kullanarak sorgu sql:variable()
Bu örnek nasıl sql:variable() uygulama sorgu parameterize etkinleştirebilirsiniz. ISBN by using a sql değişken @ ISBN içinde geçer. Sabiti değiştirerek sql:variable(), sorgu herhangi bir ISBN ve kimin ISBN 0-7356-1588-2 sadece 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
DECLARE @isbn varchar(20)
SET @isbn = '0-7356-1588-2'
SELECT xCol
FROM T
WHERE xCol.exist ('/book/@ISBN[. = sql:variable("@isbn")]') = 1
SQL:Column() benzer bir şekilde kullanılan ve ek avantajlar sağlar. Dizinler sütun üzerinde maliyet tabanlı sorgu Doktoru tarafından karar verimlilik için kullanılabilir. Ayrıca, hesaplanmış bir sütun yükseltilen özellik depolayabilir.