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
Setiap elemen dan atribut dalam skema XSD memetakan ke tabel/tampilan database dan kolom karena pemetaan default. Jika Anda ingin membuat elemen dalam skema XSD yang tidak memetakan ke tabel database (tampilan) atau kolom apa pun dan yang tidak muncul di XML, Anda dapat menentukan anotasi sql:mapped .
Anotasi sql:mapped sangat berguna jika skema tidak dapat dimodifikasi atau jika skema digunakan untuk memvalidasi XML dari sumber lain dan belum berisi data yang tidak disimpan dalam database Anda. Anotasi sql:mapped berbeda dari sql:is-constant karena elemen dan atribut yang tidak dipetakan tidak muncul di dokumen XML.
Anotasi sql:mapped mengambil nilai Boolean (0 = false, 1 = true). Nilai yang dapat diterima adalah 0, 1, true, dan false.
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:mapped
Asumsikan Anda memiliki skema XSD dari beberapa sumber lain. Skema XSD ini terdiri dari > dengan atribut ContactID, FirstName, LastName, dan HomeAddress.
Dalam memetakan skema XSD ini ke tabel Person.Contact di database AdventureWorks, sql:mapped ditentukan pada atribut HomeAddress karena tabel Karyawan tidak menyimpan alamat rumah karyawan. Akibatnya, atribut ini tidak dipetakan ke database dan tidak dikembalikan dalam dokumen XML yang dihasilkan ketika kueri XPath ditentukan terhadap skema pemetaan.
Pemetaan default terjadi untuk sisa skema. Elemen <Person.Contact> memetakan ke tabel Person.Contact, dan semua atribut dipetakan ke kolom dengan nama yang sama dalam tabel Person.Contact.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:element name="Person.Contact">
<xsd:complexType>
<xsd:attribute name="ContactID" type="xsd:string"/>
<xsd:attribute name="FirstName" type="xsd:string" />
<xsd:attribute name="LastName" type="xsd:string" />
<xsd:attribute name="HomeAddress" type="xsd:string"
sql:mapped="false" />
</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 sql-mapped.xml.
Salin templat berikut dan tempelkan ke dalam file teks. Simpan file sebagai sql-mappedT.xml di direktori yang sama tempat Anda menyimpan sql-mapped.xml.
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"> <sql:xpath-query mapping-schema="sql-mapped.xml"> /Person.Contact[@ContactID < 10] </sql:xpath-query> </ROOT>Jalur direktori yang ditentukan untuk skema pemetaan (MySchema.xml) relatif terhadap direktori tempat templat disimpan. Jalur absolut juga dapat ditentukan, misalnya:
mapping-schema="C:\MyDir\sql-mapped.xml"Buat dan gunakan Skrip Pengujian SQLXML 4.0 (Sqlxml4test.vbs) untuk menjalankan templat.
Untuk informasi selengkapnya, lihat Menggunakan ADO untuk Menjalankan Kueri SQLXML.
Ini adalah kumpulan hasil:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<Person.Contact ContactID="1" FirstName="Gustavo" LastName="Achong" />
<Person.Contact ContactID="2" FirstName="Catherine" LastName="Abel" />
<Person.Contact ContactID="3" FirstName="Kim" LastName="Abercrombie" />
<Person.Contact ContactID="4" FirstName="Humberto" LastName="Acevedo" />
<Person.Contact ContactID="5" FirstName="Pilar" LastName="Ackerman" />
<Person.Contact ContactID="6" FirstName="Frances" LastName="Adams" />
<Person.Contact ContactID="7" FirstName="Margaret" LastName="Smith" />
<Person.Contact ContactID="8" FirstName="Carla" LastName="Adams" />
<Person.Contact ContactID="9" FirstName="Jay" LastName="Adams" />
</ROOT>
Perhatikan bahwa ContactID, FirstName, dan LastName ada, tetapi HomeAddress bukan karena skema pemetaan yang ditentukan 0 untuk atribut sql:mapped .
Lihat Juga
Pemetaan Default Elemen dan Atribut XSD ke Tabel dan Kolom (SQLXML 4.0)