Aracılığıyla paylaş


SQL:relationship (xdr şeması) kullanarak ilişkiler belirtme

Önemli notÖnemli

Bu konuda eski uygulamalar için bir referans olarak dahil edilir.Bu özelliği yok ileride geliştirme çalışmaları yapılacaktır.Bu özellik yeni geliştirme çalışması kullanmaktan kaçının.Bunun yerine, açıklama eklenmiş xsd şemaları, xml görünümlerini oluşturmak için kullanın.Daha fazla bilgi için bkz: Açıklama eklenmiş xsd şemaları (SQLxml 4.0) Giriº.xsd şemaları için varolan açıklama eklenmiş xdr şemalarını dönüştürebilirsiniz.Daha fazla bilgi için bkz: Açıklama eklenmiş xdr şemalarını eşdeğer xsd şemaları (SQLxml 4.0) dönüştürme.

Öğeler bir xml belgesindeki ilgili olabilir.Öğeler hiyerarşik olarak iç içe ve öğeleri ilişkiler ID, IDREF ve IDREFS belirtilebilir.

Örneğin, bir xdr şeması içinde bir <Müşteri> öğesi içeriyor <Sipariş> alt öğeleri.The <Customer> element maps to a table that holds customer data (such as Sales.Customer in the AdventureWorks2008R2 database).The <Order> element maps to a table that holds order data in the same database (such as Sales.SalesORderHeader).Bu temel tabloları, Sales.Customer ve Sales.SalesOrderHeader, müşterilerin siparişleri geçirdiği için ilgilidir.MüşteriNo Sales.SalesOrderHeader, tablo Sales.Customer, MüşteriNo birincil anahtarına başvuran yabancı anahtar olan tablo.Bu ilişkiler arasında eşleme şema öğeleri kullanarak kurabilirsiniz <sql:relationship> ek açıklama.

Açıklama eklenmiş xdr şemasında <sql:relationship> hiyerarşik olarak birincil anahtar ve yabancı anahtar ilişkileri olduğu için temel alınan tablolar arasında temel şema öğeleri yerleştirmek için kullanılan ek açıklama öğeleri Haritası.Belirterek, <sql:relationship> gerekir tanımlamak, ek açıklama:

  • Birincil tablo (Sales.Customer) ve yabancı tablo (Sales.SalesOrderHeader) ve

  • Gerekli birleştirmek koşulu (MüşteriNo Sales.SalesOrderHeader, Sales.Customer, MüşteriNo birincil anahtarına başvuran yabancı anahtar olan tablo).

Bu bilgiler doğru hiyerarşisi oluşturmak için kullanılır (her <Müşteri> öğesi, ilgili <Sipariş> öğeleri alt öğe görünür).

Tablo adları ve gerekli birleştirmek bilgileri sağlamak için aşağıdaki öznitelikleri ile belirtilen <sql:relationship> ek açıklama.Bu öznitelikler yalnızca geçerli sql:relationship öğesi:

  • key-relation
    Birincil ilişkisi (tablo) belirtir.

  • key
    Birincil anahtar belirtir key-relation.Birincil anahtar birden çok sütun için oluşuyorsa, aralarında boşluk olan değerler belirtilir.Birden çok sütun anahtar ve buna karşılık gelen belirtilen değerleri arasında konumsal eşleme yok yabancı anahtar.

  • foreign-relation
    Yabancı ilişkisi (tablo) belirtir.

  • foreign-key
    yabancı anahtar belirtir foreign-relation için başvuran key , key-relation.Yabancı anahtarda birden çok öznitelik (sütun) oluşuyorsa, yabancı anahtar değerlerini aralarında bir boşluk ile belirtilir.Birden çok sütun anahtar ve buna karşılık gelen belirtilen değerleri arasında konumsal eşleme yok yabancı anahtar.

Not

Microsoft emin olmanız gerekir SQL Server veri türü key ve foreign-key , örtük olarak, dönüştürülebilir olduğunu olan gerekli.

The sql:relationship tag can be added only to <element> or <attribute> elements in an annotated schema.Zaman sql:relationship belirtilen bir öznitelik, olması gereken bir sql:relation ve sql:field tek bir değer alınır emin olmak özniteliği için belirtilen (aynı adlı birden çok özniteliği geçersiz xml biçiminde).Zaman sql:relationship belirtilen bir öğe üzerinde tek bir değer ilişkisi neden veya bir küme değerler.

The sql:relationship tag is used to specify a single logical relationship between two entities.Öznitelik ilişkileri ve mantıksal ilişki tanımlamak için kullanılan alanları tanımlayın.Birden çok örneğini sql:relationship içinde bir öðe ya da öznitelik şemada notlu, öðe ya da öznitelik ve arasında karmaşık bir ilişki gösterir belirtilebiliriçerdiği alt öğesi. Tüm örneklerini sql:relationship birlikte tanımlamakta kullanılır karmaşık bir ilişki.

Zaman birden çok örneğini sql:relationship etiketi içinde bir öğe veya öznitelik belirtilirse, göründüğü sıra önemlidir.

The sql:key-fields annotation must be specified in an element containing a child element and a sql:relationship, defined between the element and the child, that does not provide the primary key of the table specified in the parent element.Daha fazla bilgi için bkz: SQL:key anahtar sütunlar kullanma tanımlayan-alanları (SQLxml 4.0).Uygun iç içe geçme sonuç üretmek için önerilir sql:key-fields belirtilen tüm şemalar.

Not

Eşleme şemada tablo adı ve sütun adı gibi ilişkisel değerleri durum duyarlıdır.

Örnekler

Aşağıdaki örnekler kullanarak çalışma örnekleri oluşturmak için belirli gereksinimleri karşılaması gerekir.Daha fazla bilgi için bkz: SQLxml örnekleri çalıştırma gereksinimleri.

A.SQL:Relationship belirtin bir <öğesi>

Bu açıklama eklenmiş xdr şeması içerir <Müşteri> ve <Sipariş> öğeleri.The <Order> element is a child element of the <Customer> element.

Şema içindeki sql:relationship ek açıklama sayfalarında belirtilen <Sipariş> alt öğesi.İçin MüşteriNo başvuran yabancı anahtar olarak ek açıklama MüşteriNo Sales.SalesOrderHeader tablo tanımlar birincil anahtar Sales.Customer tablosunda.Bu nedenle, bir müşteriye ait siparişleri bu alt öğesi olarak görünür <Müşteri> öğesi.

<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
        xmlns:dt="urn:schemas-microsoft-com:datatypes"
        xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<ElementType name="Order" sql:relation="Sales.SalesOrderHeader" >
    <AttributeType name="CustomerID" />
    <AttributeType name="SalesOrderID" />
    <AttributeType name="OrderDate" />

    <attribute type="CustomerID" />
    <attribute type="SalesOrderID" />
    <attribute type="OrderDate" />
</ElementType>
<ElementType name="Customer" sql:relation="Sales.Customer" >
    <AttributeType name="CustomerID" />
    <attribute type="CustomerID" />
    <element type="Order" >
             <sql:relationship 
                     key-relation="Sales.Customer"
                    key="CustomerID"
                    foreign-key="CustomerID"
                    foreign-relation="Sales.SalesOrderHeader" />
    </element>
</ElementType>
</Schema>

Not

Eşleme şemada tablo adı ve sütun adı gibi ilişkisel değerleri durum duyarlıdır.Önceki örnekte, Müşteriler ise değeri sql:relation öznitelik.Buna karşılık gelen key-relation öznitelik değeri de olması gerekir müşteriler.

Örnek XPath sorgusu şema karşı sınamak için

  1. Yukarıdaki şema kodu kopyalayın ve bir metin dosyasına yapıştırın.Dosyayı sql-ilişki-xdr.xml kaydedin.

  2. Aşağıdaki şablon kopyalama ve bir metin dosyasına yapıştırın.Dosyayı sql ilişki xdr.xml kaydettiğiniz aynı dizinde sql-ilişki-xdrT.xml olarak kaydedin.Şablon sorguda CustomerID 1 olan bir müşteri seçer.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
      <sql:xpath-query mapping-schema="sql-relationship-xdr.xml">
        Customer[@CustomerID="1"]
      </sql:xpath-query>
    </ROOT>
    

    Dizin yol eşleme şeması (sql ilişkisini xdr.xml) şablonun kaydedileceği dizini ile ilişkili olduğu için belirtilen.Mutlak bir yol da, örneğin belirtilebilir:

    mapping-schema="C:\SqlXmlTest\sql-relationship-xdr.xml"
    
  3. Oluşturun ve sqlxml 4.0 sınama komut dosyası (Sqlxml4test.vbs) şablonu yürütmek için kullanın.

    Daha fazla bilgi için bkz: ado SQLxml yürütme kullanarak 4.0 sorgular.

Kısmi bir sonuç küme aşağıdadır:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <Customer CustomerID="1">
    <Order CustomerID="1" SalesOrderID="43860" OrderDate="2005-08-01T00:00:00" /> 
    <Order CustomerID="1" SalesOrderID="44501" OrderDate="2005-11-01T00:00:00" /> 
    <Order CustomerID="1" SalesOrderID="45283" OrderDate="2006-02-01T00:00:00" /> 
    <Order CustomerID="1" SalesOrderID="46042" OrderDate="2006-05-01T00:00:00" /> 
  </Customer>
</ROOT>

B.SQL:Relationship belirtin bir <öznitelik> ve belge başvurularını kullanarak kimliği ve IDREFS.

Bu örnekte, yerel bir belge başvurularını kimliği ve IDREFS kullanılarak belirtilir.Örnek xdr şeması oluşan bir <Müşteri> Sales.Customer için eşleşen öğe tablo.Bu öğe oluşan bir <Sipariş> alt öğe eşler Sales.SalesOrderHeader tablo.

Örnekte, sql:relationship iki kez belirtilir:

  • sql:relationshipüzerinde belirtilen <Sipariş> alt öğesi.Bu nedenle, bir müşteriye ait siparişleri bu alt öğesi olarak görünür <Müşteri> öğesi.

  • sql:relationshipAyrıca üzerinde belirtilen OrderIDList öznitelik <Müşteri> öğesi.Bu öznitelik için başvuran IDREFS türü olarak tanımlanan SalesOrderID özniteliği (ID türünün özniteliği) <Sipariş> öğesi.Bu nedenle, sql:relationship gerekiyor.Bu durum, sql:relationship ek açıklama görünür, ile müşteriye ait siparişleri listesini verir <Müşteri> öğesi.

    IDREFS belirtilen öznitelikler, bu nedenle intradocument bağlantıları etkinleştirme kimliği türü öznitelikleri için başvurmak için kullanılabilir.

Sayılar (ad simgeleri olmalıdır), geçerli kod değerleri, çünkü sql:id-prefix kullanıldığını sipariş kimliği oluşturma bir dize değeri.Daha fazla bilgi için bkz: Geçerli ID, IDREF ve IDREFS türü öznitelikleri kullanma SQL:id oluşturma-öneki (xdr şeması).

<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
        xmlns:dt="urn:schemas-microsoft-com:datatypes"
        xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <ElementType name="Order" sql:relation="Sales.SalesOrderHeader" >
    <AttributeType name="SalesOrderID" dt:type="id" sql:id-prefix="Ord-" />
    <AttributeType name="OrderDate" />
 
    <attribute type="SalesOrderID" />
    <attribute type="OrderDate" />
  </ElementType>

  <ElementType name="Customer" sql:relation="Sales.Customer">
    <AttributeType name="CustomerID"  />

    <attribute type="CustomerID" />
    <AttributeType name="OrderIDList" dt:type="idrefs" 
                                      sql:id-prefix="Ord-"/>
    <attribute type="OrderIDList" sql:relation="Sales.SalesOrderHeader" 
                                  sql:field="SalesOrderID">
                 <sql:relationship
                      key-relation="Sales.Customer"
                      key="CustomerID"
                      foreign-relation="Sales.SalesOrderHeader"
                      foreign-key="CustomerID" />
    </attribute>
    <element type="Order">
                 <sql:relationship key-relation="Sales.Customer"
                      key="CustomerID"
                      foreign-relation="Sales.SalesOrderHeader"
                      foreign-key="CustomerID" />
    </element>
  </ElementType>
</Schema>

Örnek XPath sorgusu şema karşı sınamak için

  1. Yukarıdaki şema kodu kopyalayın ve bir metin dosyasına yapıştırın.Dosya idIdref-xdr.xml kaydedin.

  2. Aşağıdaki şablon kopyalama ve bir metin dosyasına yapıştırın.Dosya idIdref-idIdref-xdr.xml kaydettiğiniz aynı dizinde xdrT.xml olarak kaydedin.Şablon sorguda CustomerID 1 olan bir müşteri seçer.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
      <sql:xpath-query mapping-schema="idIdref-xdr.xml">
        Customer[@CustomerID="1"]
      </sql:xpath-query>
    </ROOT>
    

    Dizin yol (idIdref-xdr.xml) eşleme şema şablonun kaydedileceği dizini ile ilişkili olduğu için belirtilen.Mutlak bir yol da, örneğin belirtilebilir:

    mapping-schema="C:\SqlXmlTest\idIdref-xdr.xml"
    
  3. Oluşturun ve sqlxml 4.0 sınama komut dosyası (Sqlxml4test.vbs) şablonu yürütmek için kullanın.

    Daha fazla bilgi için bkz: ado SQLxml yürütme kullanarak 4.0 sorgular.

Sonuç küme aşağıdadır:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <Customer CustomerID="1" 
            OrderIDList="Ord-43860 Ord-44501 Ord-45283 Ord-46042">
    <Order SalesOrderID="Ord-43860" OrderDate="2005-08-01T00:00:00" /> 
    <Order SalesOrderID="Ord-44501" OrderDate="2005-11-01T00:00:00" /> 
    <Order SalesOrderID="Ord-45283" OrderDate="2006-02-01T00:00:00" /> 
    <Order SalesOrderID="Ord-46042" OrderDate="2006-05-01T00:00:00" /> 
  </Customer>
</ROOT>

C.Birden çok öğeleri üzerinde SQL:Relationship belirtin

Bu örnekte, açıklama eklenmiş xdr şeması oluşur <Müşteri>, <Sipariş>, ve <od> öğeleri.

The <Order> element is a child element of the <Customer> element.sql:relationship is specified on the <Order> child element so that orders belonging to a customer appear as child elements of <Customer>.

The <Order> element includes the <OD> child element.sql:relationship is specified on the <OD> child element so that the order details belonging to an order appear as child elements of that <Order> element.

<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
        xmlns:dt="urn:schemas-microsoft-com:datatypes"
        xmlns:sql="urn:schemas-microsoft-com:xml-sql">

<ElementType name="OD" sql:relation="Sales.SalesOrderDetail" >
    <AttributeType name="SalesOrderID" />
    <AttributeType name="ProductID" />

    <attribute type="SalesOrderID" />
    <attribute type="ProductID" />
</ElementType>

<ElementType name="Order" sql:relation="Sales.SalesOrderHeader" >
    <AttributeType name="CustomerID" />
    <AttributeType name="SalesOrderID" />
    <AttributeType name="OrderDate" />

    <attribute type="CustomerID" />
    <attribute type="SalesOrderID" />
    <attribute type="OrderDate" />
    <element type="OD" >
             <sql:relationship 
                   key-relation="Sales.SalesOrderHeader"
                   key="SalesOrderID"
                   foreign-key="SalesOrderID"
                   foreign-relation="Sales.SalesOrderDetail" />
    </element>
</ElementType>

<ElementType name="Customer" sql:relation="Sales.Customer" >
    <AttributeType name="CustomerID" />

    <attribute type="CustomerID" />
    <element type="Order" >
      <sql:relationship 
                key-relation="Sales.Customer"
                key="CustomerID"
                foreign-key="CustomerID"
                foreign-relation="Sales.SalesOrderHeader" />
    </element>
</ElementType>
</Schema>

Örnek XPath sorgusu şema karşı sınamak için

  1. Yukarıdaki şema kodu kopyalayın ve bir metin dosyasına yapıştırın.Dosyayı sql-ilişki-multi-xdr.xml kaydedin.

  2. Aşağıdaki şablon kopyalama ve bir metin dosyasına yapıştırın.Dosyayı olarak sql-ilişki-multi-xdrT.xml sql-ilişki-multi-xdr.xml kaydettiğiniz aynı dizine kaydedin.Şablon sorguda CustomerID 1 olan bir müşteri için sipariş bilgileri verir ve 43860 SalesOrderID olur.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
      <sql:xpath-query mapping-schema="sql-relationship-multi-xdr.xml">
        /Customer[@CustomerID="1"]/Order[@SalesOrderID=43860]
      </sql:xpath-query>
    </ROOT>
    

    Dizin yol eşleme şeması (sql-ilişki-multi-xdr.xml) şablonun kaydedileceği dizini ile ilişkili olduğu için belirtilen.Mutlak bir yol da, örneğin belirtilebilir:

    mapping-schema="C:\SqlXmlTest\sql-relationship-multi-xdr.xml"
    
  3. Oluşturun ve sqlxml 4.0 sınama komut dosyası (Sqlxml4test.vbs) şablonu yürütmek için kullanın.

    Daha fazla bilgi için bkz: ado SQLxml yürütme kullanarak 4.0 sorgular.

Sonuç küme aşağıdadır:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <Order CustomerID="1" SalesOrderID="43860" OrderDate="2005-08-01T00:00:00">
    <OD SalesOrderID="43860" ProductID="761" /> 
    <OD SalesOrderID="43860" ProductID="770" /> 
    <OD SalesOrderID="43860" ProductID="758" /> 
    <OD SalesOrderID="43860" ProductID="765" /> 
    <OD SalesOrderID="43860" ProductID="732" /> 
    <OD SalesOrderID="43860" ProductID="762" /> 
    <OD SalesOrderID="43860" ProductID="738" /> 
    <OD SalesOrderID="43860" ProductID="768" /> 
    <OD SalesOrderID="43860" ProductID="753" /> 
    <OD SalesOrderID="43860" ProductID="729" /> 
    <OD SalesOrderID="43860" ProductID="763" /> 
    <OD SalesOrderID="43860" ProductID="756" /> 
  </Order>
</ROOT>

D.Dolaylı ilişkileri belirtin

Bu örnekte, açıklama eklenmiş xdr şeması oluşur <Müşteri> ve <od> öğeleri.Bu öğeler arasında dolaylı ilişkidir (Sales.Customer tablosundaki ilgili Sales.SalesOrderDetail tablo Sales.SalesOrderHeader tablo üzerinden).Bir müşteri için Sipariş Ayrıntıları ilişkilendirmek için öncelikle Sales.Customer tablo Sales.SalesOrderHeader tablo arasındaki ilişkiyi belirtildi.Daha sonra Sales.SalesOrderHeader ve Sales.SalesOrderDetail tablolar arasında ilişki belirtilir.

Bu şema oluşur:

<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
        xmlns:dt="urn:schemas-microsoft-com:datatypes"
        xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<ElementType name="OD" sql:relation="Sales.SalesOrderDetail" >
    <AttributeType name="SalesOrderID" />
    <AttributeType name="ProductID" />
    <AttributeType name="UnitPrice" />

    <attribute type="SalesOrderID" />
    <attribute type="ProductID" />
    <attribute type="UnitPrice" />
</ElementType>
<ElementType name="Customer" sql:relation="Sales.Customer" >
    <AttributeType name="CustomerID" />
    <attribute type="CustomerID" />
    <element type="OD" >
             <sql:relationship 
                    key-relation="Sales.Customer"
                    key="CustomerID"
                    foreign-relation="Sales.SalesOrderHeader"
                    foreign-key="CustomerID"/>
             <sql:relationship 
                    key-relation="Sales.SalesOrderHeader"
                    key="SalesOrderID"
                    foreign-relation="Sales.SalesOrderDetail" 
                    foreign-key="SalesOrderID" />
    </element>
</ElementType>
</Schema>

Örnek XPath sorgusu şema karşı sınamak için

  1. Yukarıdaki şema kodu kopyalayın ve bir metin dosyasına yapıştırın.Dosyayı Dolaylı-ilişki-xdr.xml kaydedin.

  2. Aşağıdaki şablon kopyalama ve bir metin dosyasına yapıştırın.Dosyayı olarak Dolaylı-ilişki-xdrT.xml, ilişki xdr.xml dolaylı kaydettiğiniz aynı dizine kaydedin.Şablon sorguda CustomerID 1 olan bir müşteri için sipariş bilgileri döndürür.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql" >
    <sql:xpath-query mapping-schema="indirect-relationship-xdr.xml" >
    /Customer[@CustomerID="1"]
    </sql:xpath-query>
    </ROOT>
    

    Dizin yol eşleme şeması (Dolaylı-ilişki-xdr.xml) şablonun kaydedileceği dizini ile ilişkili olduğu için belirtilen.Mutlak bir yol da, örneğin belirtilebilir:

    mapping-schema="C:\SqlXmlTest\indirect-relationship-xdr.xml"
    
  3. Oluşturun ve sqlxml 4.0 sınama komut dosyası (Sqlxml4test.vbs) şablonu yürütmek için kullanın.

    Daha fazla bilgi için bkz: ado SQLxml yürütme kullanarak 4.0 sorgular.

Kısmi sonuç aşağıdadır:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
  <Customer CustomerID="1">
    <OD SalesOrderID="43860" ProductID="761" UnitPrice="503.3507" /> 
    <OD SalesOrderID="43860" ProductID="770" UnitPrice="503.3507" /> 
    <OD SalesOrderID="43860" ProductID="758" UnitPrice="1049.7528" /> 
    <OD SalesOrderID="43860" ProductID="765" UnitPrice="503.3507" /> 
    ...
  </Customer>
  </ROOT>

E.Multikey birleştirmek ilişkileri belirtin

birleştirmek kullanarak belirterek, sql:relationshipilgilendiren birleştirmek belirtiniki veya daha fazla sütun. Bu durum, sütun adları için key ve foreign-key listelenmiş kullanarak bir alan.

Bu örnek, geçici veritabanı (tempdb), bu iki tablo mevcut varsayılmaktadır:

  • dbo.Cust (fname, SAdı)

  • dbo.Sipariş (SiparişNo, fname, SAdı)

Ve lname sütun formun birincil anahtarnı Cust, tablo.SiparişNo sipariş birincil anahtardır tablo.Ve lname sipariş de tablo ve lname birincil anahtar Cust için başvuran yabancı anahtar tablo.

This schema consists of <Cust> and <Ord> elements.sql:relationship is used to join them.

<?xml version="1.0" ?>
<Schema xmlns="urn:schemas-microsoft-com:xml-data"
        xmlns:dt="urn:schemas-microsoft-com:datatypes"
        xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<ElementType name="Ord" sql:relation="Ord" >
    <AttributeType name="OrderID" />

    <attribute type="OrderID" />
</ElementType>

<ElementType name="Cust" sql:relation="Cust" >
    <AttributeType name="fname" />
    <AttributeType name="lname" />
    <attribute type="fname" />
    <attribute type="lname" />
    <element type="Ord" >
             <sql:relationship 
                    key-relation="Cust"
                    key="fname lname"
                    foreign-relation="Ord"
                    foreign-key="fname lname"/>
    </element>
</ElementType>
</Schema>

Örnek XPath sorgusu şema karşı sınamak için

  1. İki tablo oluşturun: Müşteri ve Ord.

    USE tempdb
    CREATE TABLE dbo.Cust(
           fname  varchar(20), 
           lname   varchar(20)
           )
    CREATE TABLE dbo.Ord (
           OrderID int primary key, 
           fname  varchar(20), 
           lname   varchar(20)
           )
    GO
    
  2. Bu örnek veriler ekleyin:

    INSERT INTO Cust values ('Nancy', 'Davolio')
    INSERT INTO Cust values('Andrew', 'Fuller')
    INSERT INTO Ord values (1,'Nancy', 'Davolio')
    INSERT INTO Ord values (2,'Nancy', 'Davolio')
    INSERT INTO Ord values (3,'Andrew', 'Fuller')
    
  3. Yukarıdaki şema kodu kopyalayın ve bir metin dosyasına yapıştırın.Dosya multikey-birleştirmek-xdr.xml kaydedin.

  4. Aşağıdaki şablon kopyalama ve bir metin dosyasına yapıştırın.Olarak multikey birleştirmek-xdrT.xml ile aynı dizinde multikey birleştirmek xdr.xml kaydettiğiniz dosyayı kaydedin.Sorgu şablon müşteri bilgilerini döndürür.

    <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql" >
      <sql:xpath-query mapping-schema="multikey-join-xdr.xml" >
        /Cust
      </sql:xpath-query>
    </ROOT>
    

    Dizin yol (multikey-birleştirmek-xdr.xml) eşleme şema şablonun kaydedileceği dizini ile ilişkili olduğu için belirtilen.Mutlak bir yol da, örneğin belirtilebilir:

    mapping-schema="C:\SqlXmlTest\multikey-join-xdr.xml"
    
  5. Oluşturun ve sqlxml 4.0 sınama komut dosyası (Sqlxml4test.vbs) şablonu yürütmek için kullanın.

    Daha fazla bilgi için bkz: ado SQLxml yürütme kullanarak 4.0 sorgular.

Kısmi sonuç aşağıdadır:

<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> 
  <Cust fname="Andrew" lname="Fuller"> 
    <Ord OrderID="3" /> 
  </Cust> 
  <Cust fname="Nancy" lname="Davolio"> 
    <Ord OrderID="1" /> 
    <Ord OrderID="2" /> 
  </Cust> 
</ROOT>

Ayrıca bkz.

Başvuru