Wie nicht vordefinierten SQL-Datentypen in XML Karte

In der SQL-Standard umfassen die nicht vordefinierten Datentypen Domäne, verschiedene UDT, Reihe, Array und multiset. Sie können jede dieser XML-formatierte Daten abzubilden, entsprechende XML-Code verwenden. Hier sind einige Beispiele dafür, wie diese Art abzubilden.

Menu

Domain

Um eine SQL-Domäne XML abzubilden, müssen Sie zunächst eine Domain haben. Für dieses Beispiel erstellen Sie eine durch eine mit CREATE DOMAIN Erklärung:

CREATE DOMAIN Westcoast AS CHAR (2) CHECK (Bundesstaat IN ( 'CA', 'OR', 'WA', 'AK')) -

Erstellen Sie nun eine Tabelle, die die Domain verwendet:

CREATE TABLE WestRegion (Client Zeichen (20) NOT NULL, StateWestCoast NOT NULL) -

Hier ist das XML-Schema die Domäne in XML abzubilden:

Name = 'DOMAIN.Sales.WestCoast>

Wenn diese Zuordnung angewendet wird, kommt es in einem XML-Dokument, das in etwa wie folgt enthält:

...AK......

Distinct UDT

Mit einem deutlichen UDT, können Sie viel tun, das gleiche wie das, was Sie mit einer Domain zu tun, aber mit stärkeren Typisierung. Hier ist wie:

CREATE TYPE Westcoast AS Character (2) FINAL -

Das XML-Schema, diese Art von XML abzubilden ist wie folgt:

Name = 'UDT.Sales.WestCoast>

Dies schafft ein Element, das das gleiche wie das für das vorhergehende Domäne erzeugt wird.

Reihe

Das REIHE ermöglicht Ihnen mehrere Artikel oder sogar eine ganze Reihe im Wert von Informationen in einem einzigen Feld einer Tabellenzeile zu stopfen. Sie können ein erstellen REIHE Typ als Teil der Tabellendefinition, auf die folgende Weise:

CREATE TABLE CONTACT (Name CHARACTER (30) Telefon ROW (Heim CHAR (13), Arbeits CHAR (13))) -

Sie können nun diese Art Karte mit dem folgenden Schema zu XML:

Diese Zuordnung könnte die folgende XML für eine Spalte erzeugen:

(888)555-1111(888)555-1212

Feld

Sie können eine in einem einzigen Feld mehr als ein Element setzen, indem Sie Feld statt der REIHE Art. Beispielsweise in der KONTAKTINFORMATION Tabelle erklären Telefon als Array und erzeugen dann das XML-Schema, die das Array in XML abbildet.

CREATE TABLE CONTACT (Name CHARACTER (30), Telefon CHARACTER (13) ARRAY [4]) -

Sie können nun diese Art Karte mit dem folgenden Schema zu XML:

Dieses Schema würde wie folgt erzeugen:

(888)555-1111xsi: nil = "true" />(888)555-3434

Das Element in dem Array mit xsi: nil = 'true' spiegelt die Tatsache wider, dass die zweite Telefonnummer in der Quelltabelle einen Nullwert enthält.

Multiset

Die Telefonnummern in dem vorhergehenden Beispiel könnte genauso gut in einem multiset wie in einem Array gespeichert werden. Um eine multiset Karte, verwenden Sie so etwas wie den folgenden:

CREATE TABLE CONTACT (Name CHARACTER (30), Telefon CHARACTER (13) MULTISET) -

Sie können nun diese Art Karte mit dem folgenden Schema zu XML:

Dieses Schema würde wie folgt erzeugen:

(888)555-1111xsi: nil = "true" />(888)555-3434

Menü