Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server
Azure SQL Database
Elemen dalam dokumen XML dapat terkait. Elemen dapat ditumpuk secara hierarkis, dan hubungan ID, IDREF, atau IDREFS dapat ditentukan di antara elemen.
Misalnya, dalam skema XSD, <elemen Pelanggan> berisi <elemen Order> child. Ketika skema dipetakan ke database AdventureWorks, <elemen Pelanggan> memetakan ke tabel Sales.Customer dan <elemen Order> memetakan ke tabel Sales.SalesOrderHeader. Tabel yang mendasar ini, Sales.Customer dan Sales.SalesOrderHeader, terkait karena pelanggan melakukan pemesanan. CustomerID dalam tabel Sales.SalesOrderHeader adalah kunci asing yang mengacu pada kunci utama CustomerID dalam tabel Sales.Customer. Anda dapat membangun hubungan ini di antara elemen skema pemetaan dengan menggunakan anotasi sql:relationship .
Dalam skema XSD yang dianomasi, anotasi sql:relationship digunakan untuk menumpuk elemen skema secara hierarkis, berdasarkan kunci primer dan hubungan kunci asing di antara tabel yang mendasar tempat elemen memetakan. Dalam menentukan anotasi sql:relationship , Anda harus mengidentifikasi hal berikut:
Tabel induk (Sales.Customer) dan tabel anak (Sales.SalesOrderHeader).
Kolom atau kolom yang menyusun hubungan antara tabel induk dan anak. Misalnya, kolom CustomerID, yang muncul di tabel induk dan anak.
Informasi ini digunakan untuk menghasilkan hierarki yang tepat.
Untuk memberikan nama tabel dan informasi gabungan yang diperlukan, atribut berikut ditentukan pada anotasi sql:relationship . Atribut ini hanya valid dengan <elemen sql:relationship> :
Nama
Menentukan nama unik hubungan.
Ortu
Menentukan hubungan induk (tabel). Ini adalah atribut opsional; jika atribut tidak ditentukan, nama tabel induk diperoleh dari informasi dalam hierarki anak dalam dokumen. Jika skema menentukan dua hierarki induk-anak yang menggunakan sql:relationship> yang sama< tetapi elemen induk yang berbeda, Anda tidak menentukan atribut induk dalam <sql:relationship>. Informasi ini diperoleh dari hierarki dalam skema.
kunci induk
Menentukan kunci induk induk. Jika kunci induk terdiri dari beberapa kolom, nilai ditentukan dengan spasi di antaranya. Ada pemetaan posisi antara nilai yang ditentukan untuk kunci multikolom dan untuk kunci anak yang sesuai.
Anak
Menentukan hubungan anak (tabel).
kunci turunan
Menentukan kunci anak dalam anak yang mengacu pada kunci induk di induk. Jika kunci anak terdiri dari beberapa atribut (kolom), nilai kunci anak ditentukan dengan spasi di antaranya. Ada pemetaan posisi antara nilai yang ditentukan untuk kunci multikolom dan untuk kunci induk yang sesuai.
Invers
Atribut yang ditentukan pada <sql:relationship> ini digunakan oleh updategram. Untuk informasi selengkapnya, lihat Menentukan Atribut sql:inverse pada sql:relationship.
Anotasi sql:key-fields harus ditentukan dalam elemen yang berisi elemen turunan, yang memiliki <sql:relationship> yang ditentukan antara elemen dan turunan, dan yang tidak menyediakan kunci utama tabel yang ditentukan dalam elemen induk. Bahkan jika skema tidak menentukan <sql:relationship>, Anda harus menentukan sql:key-fields untuk menghasilkan hierarki yang tepat. Untuk informasi selengkapnya, lihat Mengidentifikasi Kolom Kunci dengan Menggunakan sql:key-fields.
Untuk menghasilkan berlapis yang tepat dalam hasil, disarankan agar sql:key-fields ditentukan dalam semua skema.
Contoh
Untuk membuat sampel kerja menggunakan contoh berikut, Anda harus memenuhi persyaratan tertentu. Untuk informasi selengkapnya, lihat Persyaratan untuk Menjalankan Contoh SQLXML.
J. Menentukan anotasi sql:relationship pada elemen
Skema XSD yang diannotasi berikut ini mencakup elemen Pelanggan> dan <Pesanan>.< Elemen Pesanan> adalah elemen turunan dari <elemen Pelanggan>.<
Dalam skema, anotasi sql:relationship ditentukan pada <elemen Order> child. Hubungan itu sendiri didefinisikan dalam elemen xsd:appinfo>.<
Elemen <hubungan> mengidentifikasi CustomerID dalam tabel Sales.SalesOrderHeader sebagai kunci asing yang mengacu pada kunci utama CustomerID dalam tabel Sales.Customer. Oleh karena itu, pesanan yang termasuk dalam pelanggan muncul sebagai elemen turunan dari elemen Pelanggan> tersebut<.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:annotation>
<xsd:appinfo>
<sql:relationship name="CustOrders"
parent="Sales.Customer"
parent-key="CustomerID"
child="Sales.SalesOrderHeader"
child-key="CustomerID" />
</xsd:appinfo>
</xsd:annotation>
<xsd:element name="Customer" sql:relation="Sales.Customer" type="CustomerType" />
<xsd:complexType name="CustomerType" >
<xsd:sequence>
<xsd:element name="Order"
sql:relation="Sales.SalesOrderHeader"
sql:relationship="CustOrders" >
<xsd:complexType>
<xsd:attribute name="SalesOrderID" type="xsd:integer" />
<xsd:attribute name="CustomerID" type="xsd:string" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="CustomerID" type="xsd:string" />
</xsd:complexType>
</xsd:schema>
Skema sebelumnya menggunakan hubungan bernama. Anda juga dapat menentukan hubungan yang tidak disebutkan namanya. Hasilnya sama.
Ini adalah skema yang direvisi di mana hubungan yang tidak disebutkan namanya ditentukan:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="Customer" sql:relation="Sales.Customer" type="CustomerType" />
<xsd:complexType name="CustomerType" >
<xsd:sequence>
<xsd:element name="Order"
sql:relation="Sales.SalesOrderHeader">
<xsd:annotation>
<xsd:appinfo>
<sql:relationship
parent="Sales.Customer"
parent-key="CustomerID"
child="Sales.SalesOrderHeader"
child-key="CustomerID" />
</xsd:appinfo>
</xsd:annotation>
<xsd:complexType>
<xsd:attribute name="SalesOrderID" type="xsd:integer" />
<xsd:attribute name="CustomerID" type="xsd:string" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="CustomerID" type="xsd:string" />
</xsd:complexType>
</xsd:schema>
Untuk menguji sampel kueri XPath terhadap skema
Salin kode skema di atas dan tempelkan ke dalam file teks. Simpan file sebagai sql-relationship.xml.
Salin templat berikut di bawah ini dan tempelkan ke dalam file teks. Simpan file sebagai sql-relationshipT.xml di direktori yang sama tempat Anda menyimpan sql-relationship.xml.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="sql-relationship.xml"> /Customer[@CustomerID=1] </sql:xpath-query> </ROOT>Jalur direktori yang ditentukan untuk skema pemetaan (sql-relationship.xml) relatif terhadap direktori tempat templat disimpan. Jalur absolut juga dapat ditentukan, misalnya:
mapping-schema="C:\MyDir\sql-relationship.xml"Buat dan gunakan Skrip Pengujian SQLXML 4.0 (Sqlxml4test.vbs) untuk menjalankan templat.
Untuk informasi selengkapnya, lihat Menggunakan ADO untuk Menjalankan Kueri SQLXML.
Berikut adalah hasilnya:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Customer CustomerID="1">
<Order OrderID="43860" CustomerID="1" />
<Order OrderID="44501" CustomerID="1" />
<Order OrderID="45283" CustomerID="1" />
<Order OrderID="46042" CustomerID="1" />
</Customer>
</ROOT>
B. Menentukan rantai hubungan
Untuk contoh ini, asumsikan bahwa Anda menginginkan dokumen XML berikut menggunakan data yang diperoleh dari database AdventureWorks:
<Order SalesOrderID="43659">
<Product Name="Mountain Bike Socks, M"/>
<Product Name="Sport-100 Helmet, Blue"/>
...
</Order>
...
Untuk setiap pesanan dalam tabel Sales.SalesOrderHeader, dokumen XML memiliki satu <elemen Pesanan> . Dan setiap elemen Pesanan ><memiliki daftar elemen anak Produk>, satu untuk setiap produk yang diminta dalam urutan.<
Untuk menentukan skema XSD yang akan menghasilkan hierarki ini, Anda harus menentukan dua hubungan: OrderOD dan ODProduct. Hubungan OrderOD menentukan hubungan induk-turunan antara tabel Sales.SalesOrderHeader dan Sales.SalesOrderDetail. Hubungan ODProduct menentukan hubungan antara tabel Sales.SalesOrderDetail dan Production.Product.
Dalam skema berikut, anotasi msdata:relationship pada <elemen Produk> menentukan dua nilai: OrderOD dan ODProduct. Urutan di mana nilai-nilai ini ditentukan penting.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:mapping-schema">
<xsd:annotation>
<xsd:appinfo>
<msdata:relationship name="OrderOD"
parent="Sales.SalesOrderHeader"
parent-key="SalesOrderID"
child="Sales.SalesOrderDetail"
child-key="SalesOrderID" />
<msdata:relationship name="ODProduct"
parent="Sales.SalesOrderDetail"
parent-key="ProductID"
child="Production.Product"
child-key="ProductID" />
</xsd:appinfo>
</xsd:annotation>
<xsd:element name="Order" msdata:relation="Sales.SalesOrderHeader"
msdata:key-fields="SalesOrderID" type="OrderType" />
<xsd:complexType name="OrderType" >
<xsd:sequence>
<xsd:element name="Product" msdata:relation="Production.Product"
msdata:key-fields="ProductID"
msdata:relationship="OrderOD ODProduct">
<xsd:complexType>
<xsd:attribute name="Name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="SalesOrderID" type="xsd:integer" />
</xsd:complexType>
</xsd:schema>
Alih-alih menentukan hubungan bernama, Anda dapat menentukan hubungan anonim. Dalam hal ini, seluruh isi <anotasi...<>/anotasi>, yang menjelaskan dua hubungan, muncul sebagai elemen turunan dari< Produk>.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="Order" msdata:relation="Sales.SalesOrderHeader"
msdata:key-fields="SalesOrderID" type="OrderType" />
<xsd:complexType name="OrderType" >
<xsd:sequence>
<xsd:element name="Product" msdata:relation="Production.Product"
msdata:key-fields="ProductID" >
<xsd:annotation>
<xsd:appinfo>
<msdata:relationship
parent="Sales.SalesOrderHeader"
parent-key="SalesOrderID"
child="Sales.SalesOrderDetail"
child-key="SalesOrderID" />
<msdata:relationship
parent="Sales.SalesOrderDetail"
parent-key="ProductID"
child="Production.Product"
child-key="ProductID" />
</xsd:appinfo>
</xsd:annotation>
<xsd:complexType>
<xsd:attribute name="Name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="SalesOrderID" type="xsd:integer" />
</xsd:complexType>
</xsd:schema>
Untuk menguji sampel kueri XPath terhadap skema
Salin kode skema di atas dan tempelkan ke dalam file teks. Simpan file sebagai relationshipChain.xml.
Salin templat berikut di bawah ini dan tempelkan ke dalam file teks. Simpan file sebagai relationshipChainT.xml di direktori yang sama tempat Anda menyimpan relationshipChain.xml.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="relationshipChain.xml"> /Order </sql:xpath-query> </ROOT>Jalur direktori yang ditentukan untuk skema pemetaan (relationshipChain.xml) relatif terhadap direktori tempat templat disimpan. Jalur absolut juga dapat ditentukan, misalnya:
mapping-schema="C:\MyDir\relationshipChain.xml"Buat dan gunakan Skrip Pengujian SQLXML 4.0 (Sqlxml4test.vbs) untuk menjalankan templat.
Untuk informasi selengkapnya, lihat Menggunakan ADO untuk Menjalankan Kueri SQLXML.
Berikut adalah hasilnya:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Order SalesOrderID="43659">
<Product Name="Mountain Bike Socks, M" />
<Product Name="Sport-100 Helmet, Blue" />
<Product Name="AWC Logo Cap" />
<Product Name="Long-Sleeve Logo Jersey, M" />
<Product Name="Long-Sleeve Logo Jersey, XL" />
...
</Order>
...
</ROOT>
C. Menentukan anotasi hubungan pada atribut
Skema dalam contoh ini mencakup <elemen Pelanggan> dengan <elemen anak CustomerID> dan atribut OrderIDList dari jenis IDREFS. Elemen <Pelanggan> memetakan ke tabel Sales.Customer di database AdventureWorks. Secara default, cakupan pemetaan ini berlaku untuk semua elemen atau atribut turunan kecuali sql:relation ditentukan pada elemen atau atribut turunan, dalam hal ini, hubungan kunci primer/kunci asing yang sesuai harus ditentukan menggunakan <elemen hubungan> . Dan elemen atau atribut turunan, yang menentukan tabel yang berbeda menggunakan anotasi relasi , juga harus menentukan anotasi hubungan .
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:annotation>
<xsd:appinfo>
<sql:relationship name="CustOrders"
parent="Sales.Customer"
parent-key="CustomerID"
child="Sales.SalesOrderHeader"
child-key="CustomerID" />
</xsd:appinfo>
</xsd:annotation>
<xsd:element name="Customer" sql:relation="Sales.Customer" type="CustomerType" />
<xsd:complexType name="CustomerType" >
<xsd:sequence>
<xsd:element name="CustomerID" type="xsd:string" />
</xsd:sequence>
<xsd:attribute name="OrderIDList"
type="xsd:IDREFS"
sql:relation="Sales.SalesOrderHeader"
sql:field="SalesOrderID"
sql:relationship="CustOrders" >
</xsd:attribute>
</xsd:complexType>
</xsd:schema>
Untuk menguji sampel kueri XPath terhadap skema
Salin kode skema di atas dan tempelkan ke dalam file teks. Simpan file sebagai relationship-on-attribute.xml.
Salin templat berikut dan tempelkan ke dalam file. Simpan file sebagai relationship-on-attributeT.xml di direktori yang sama tempat Anda menyimpan relationship-on-attribute.xml. Kueri dalam templat memilih pelanggan dengan CustomerID 1.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="relationship-on-attribute.xml"> /Customer[CustomerID=1] </sql:xpath-query> </ROOT>Jalur direktori yang ditentukan untuk skema pemetaan (relationship-on-attribute.xml) relatif terhadap direktori tempat templat disimpan. Jalur absolut juga dapat ditentukan, misalnya:
mapping-schema="C:\MyDir\relationship-on-attribute.xml"Buat dan gunakan Skrip Pengujian SQLXML 4.0 (Sqlxml4test.vbs) untuk menjalankan templat.
Untuk informasi selengkapnya, lihat Menggunakan ADO untuk Menjalankan Kueri SQLXML.
Berikut adalah hasilnya:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Customer OrderIDList="43860 44501 45283 46042">
<CustomerID>1</CustomerID>
</Customer>
</ROOT>
D. Menentukan sql:relationship pada beberapa elemen
Dalam contoh ini, skema XSD yang diannotasi berisi elemen Customer>, <Order>, dan <OrderDetail>.<
Elemen Pesanan> adalah elemen turunan dari <elemen Pelanggan>.< <sql:relationship> ditentukan pada <elemen Order> child; oleh karena itu, pesanan yang termasuk dalam pelanggan muncul sebagai elemen anak Pelanggan<>.
Elemen <Order> menyertakan elemen turunan <OrderDetail> . <sql:relationship> ditentukan pada <elemen turunan OrderDetail>, sehingga detail pesanan yang berkaitan dengan urutan muncul sebagai elemen turunan dari elemen Order> tersebut<.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:annotation>
<xsd:appinfo>
<sql:relationship name="CustOrders"
parent="Sales.Customer"
parent-key="CustomerID"
child="Sales.SalesOrderHeader"
child-key="CustomerID" />
<sql:relationship name="OrderOrderDetail"
parent="Sales.SalesOrderHeader"
parent-key="SalesOrderID"
child="Sales.SalesOrderDetail"
child-key="SalesOrderID" />
</xsd:appinfo>
</xsd:annotation>
<xsd:element name="Customer" sql:relation="Sales.Customer" >
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Order" sql:relation="Sales.SalesOrderHeader"
sql:relationship="CustOrders" maxOccurs="unbounded" >
<xsd:complexType>
<xsd:sequence>
<xsd:element name="OrderDetail"
sql:relation="Sales.SalesOrderDetail"
sql:relationship="OrderOrderDetail"
maxOccurs="unbounded" >
<xsd:complexType>
<xsd:attribute name="SalesOrderID" type="xsd:integer" />
<xsd:attribute name="ProductID" type="xsd:string" />
<xsd:attribute name="OrderQty" type="xsd:integer" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="SalesOrderID" type="xsd:integer" />
<xsd:attribute name="OrderDate" type="xsd:date" />
<xsd:attribute name="CustomerID" type="xsd:string" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="CustomerID" type="xsd:string" />
</xsd:complexType>
</xsd:element>
</xsd:schema>
Untuk menguji sampel kueri XPath terhadap skema
Salin kode skema di atas dan tempelkan ke dalam file teks. Simpan file sebagai relationship-multiple-elements.xml.
Salin templat berikut dan tempelkan ke dalam file teks. Simpan file sebagai relationship-multiple-elementsT.xml di direktori yang sama tempat Anda menyimpan relationship-multiple-elements.xml. Kueri dalam templat mengembalikan informasi pesanan untuk pelanggan dengan CustomerID 1 dan SalesOrderID 43860.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="relationship-multiple-elements.xml"> /Customer[@CustomerID=1]/Order[@SalesOrderID=43860] </sql:xpath-query> </ROOT>Jalur direktori yang ditentukan untuk skema pemetaan (relationship-multiple-elements.xml) relatif terhadap direktori tempat templat disimpan. Jalur absolut juga dapat ditentukan, misalnya:
mapping-schema="C:\MyDir\relationship-multiple-elements.xml"Buat dan gunakan Skrip Pengujian SQLXML 4.0 (Sqlxml4test.vbs) untuk menjalankan templat.
Untuk informasi selengkapnya, lihat Menggunakan ADO untuk Menjalankan Kueri SQLXML.
Berikut adalah hasilnya:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Order SalesOrderID="43860" OrderDate="2001-08-01" CustomerID="1">
<OrderDetail SalesOrderID="43860" ProductID="761" OrderQty="2" />
<OrderDetail SalesOrderID="43860" ProductID="770" OrderQty="1" />
<OrderDetail SalesOrderID="43860" ProductID="758" OrderQty="2" />
<OrderDetail SalesOrderID="43860" ProductID="765" OrderQty="2" />
<OrderDetail SalesOrderID="43860" ProductID="732" OrderQty="1" />
<OrderDetail SalesOrderID="43860" ProductID="762" OrderQty="1" />
<OrderDetail SalesOrderID="43860" ProductID="738" OrderQty="1" />
<OrderDetail SalesOrderID="43860" ProductID="768" OrderQty="1" />
<OrderDetail SalesOrderID="43860" ProductID="753" OrderQty="2" />
<OrderDetail SalesOrderID="43860" ProductID="729" OrderQty="1" />
<OrderDetail SalesOrderID="43860" ProductID="763" OrderQty="1" />
<OrderDetail SalesOrderID="43860" ProductID="756" OrderQty="1" />
</Order>
</ROOT>
E. Menentukan <sql:relationship> tanpa atribut induk
Contoh ini menggambarkan menentukan sql:relationship> tanpa atribut induk.< Misalnya, asumsikan Anda memiliki tabel karyawan berikut:
Emp1(SalesPersonID, FirstName, LastName, ReportsTo)
Emp2(SalesPersonID, FirstName, LastName, ReportsTo)
Tampilan XML berikut ini memiliki pemetaan elemen Emp1> dan <Emp2> ke tabel Sales.Emp1 dan Sales.Emp2:<
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:annotation>
<xsd:appinfo>
<sql:relationship name="EmpOrders"
parent-key="SalesPersonID"
child="Sales.SalesOrderHeader"
child-key="SalesPersonID" />
</xsd:appinfo>
</xsd:annotation>
<xsd:element name="Emp1" sql:relation="Sales.Emp1" type="EmpType" />
<xsd:element name="Emp2" sql:relation="Sales.Emp2" type="EmpType" />
<xsd:complexType name="EmpType" >
<xsd:sequence>
<xsd:element name="Order"
sql:relation="Sales.SalesOrderHeader"
sql:relationship="EmpOrders" >
<xsd:complexType>
<xsd:attribute name="SalesOrderID" type="xsd:integer" />
<xsd:attribute name="CustomerID" type="xsd:string" />
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="SalesPersonID" type="xsd:integer" />
<xsd:attribute name="LastName" type="xsd:string" />
</xsd:complexType>
</xsd:schema>
Dalam skema, elemen Emp1> dan< elemen Emp2> berjenis EmpType.< Jenis EmpType menjelaskan< elemen anak Pesanan> dan sql:relationship> yang <sesuai. Dalam hal ini, tidak ada induk tunggal yang dapat diidentifikasi dalam sql:relationship> dengan menggunakan atribut induk.< Dalam situasi ini, Anda tidak menentukan atribut induk dalam <sql:relationship>; informasi atribut induk diperoleh dari hierarki dalam skema.
Untuk menguji sampel kueri XPath terhadap skema
Buat tabel ini di database AdventureWorks:
USE AdventureWorks2022; CREATE TABLE Sales.Emp1 ( SalesPersonID int primary key, FirstName varchar(20), LastName varchar(20), ReportsTo int) Go CREATE TABLE Sales.Emp2 ( SalesPersonID int primary key, FirstName varchar(20), LastName varchar(20), ReportsTo int) GoTambahkan data sampel ini dalam tabel:
INSERT INTO Sales.Emp1 values (279, 'Nancy', 'Devolio',NULL) INSERT INTO Sales.Emp1 values (282, 'Andrew', 'Fuller',1) INSERT INTO Sales.Emp1 values (276, 'Janet', 'Leverling',1) INSERT INTO Sales.Emp2 values (277, 'Margaret', 'Peacock',3) INSERT INTO Sales.Emp2 values (283, 'Steven', 'Devolio',4) INSERT INTO Sales.Emp2 values (275, 'Nancy', 'Buchanan',5) INSERT INTO Sales.Emp2 values (281, 'Michael', 'Suyama',6)Salin kode skema di atas dan tempelkan ke dalam file teks. Simpan file sebagai relationship-noparent.xml.
Salin templat berikut dan tempelkan ke dalam file teks. Simpan file sebagai relationship-noparentT.xml di direktori yang sama tempat Anda menyimpan relationship-noparent.xml. Kueri dalam templat memilih semua <elemen Emp1> (oleh karena itu, induknya adalah Emp1).
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="relationship-noparent.xml"> /Emp1 </sql:xpath-query> </ROOT>Jalur direktori yang ditentukan untuk skema pemetaan (relationship-noparent.xml) relatif terhadap direktori tempat templat disimpan. Jalur absolut juga dapat ditentukan, misalnya:
mapping-schema="C:\MyDir\relationship-noparent.xml"Buat dan gunakan Skrip Pengujian SQLXML 4.0 (Sqlxml4test.vbs) untuk menjalankan templat.
Untuk informasi selengkapnya, lihat Menggunakan ADO untuk Menjalankan Kueri SQLXML.
Berikut adalah kumpulan hasil parsial:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Emp1 SalesPersonID="276" LastName="Leverling">
<Order SalesOrderID="43663" CustomerID="510" />
<Order SalesOrderID="43666" CustomerID="511" />
<Order SalesOrderID="43859" CustomerID="259" />
...
</Emp1>