Cómo asignar tipos de datos SQL no predefinidos en XML

En el estándar SQL, los tipos de datos no predefinidas incluyen dominio, distinto UDT, fila, matriz y multiset. Puede asignar cada uno de éstos a los datos con formato XML, utilizando el código XML apropiado. Estos son algunos ejemplos de cómo asignar estos tipos.

Dominio

Para asignar un dominio de SQL a XML, primero debe tener un dominio. Para este ejemplo, cree uno mediante el uso de una CREAR DOMINIO declaración:

CREAR DOMINIO WestCoast AS CHAR (2) CHECK (Estado IN ('CA', 'O', 'WA', 'AK')) -

Ahora, cree una tabla que utiliza ese dominio:

CREAR WestRegion MESA (ClientName Carácter (20) NOT NULL, StateWestCoast NOT NULL) -

Aquí está el esquema XML para mapear el dominio en XML:

Nombre = 'DOMAIN.Sales.WestCoast>

Cuando se aplica este mapeo, el resultado es un documento XML que contiene algo como lo siguiente:

...Alaska......

UDT Distinto

Con un UDT distinta, se puede hacer lo mismo que lo que puede hacer con un dominio, pero con la tipificación fuerte. Así es cómo:

CREATE TYPE WestCoast AS Personajes (2) FINAL -

El esquema XML para asignar este tipo de XML es el siguiente:

Nombre = 'UDT.Sales.WestCoast>

Esto crea un elemento que es el mismo que el creado para el dominio anterior.

Hilera

los FILA Tipo le permite meter varios elementos, o incluso la pena de toda una fila de información, en un único campo de una fila de la tabla. Puede crear una FILA escriba como parte de la definición de la tabla, de la siguiente manera:

CREATE TABLE CONTACTINFO (nombre del personaje (30) FILA Teléfono (Inicio CHAR (13), Trabajo CHAR (13))) -

Ahora puede asignar este tipo de XML con el siguiente esquema:

Esta asignación podría generar el siguiente código XML para una columna:

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

Matriz

Usted puede poner más de un elemento en un solo campo utilizando un Matriz en lugar de la FILA escribe. Por ejemplo, en el DATOS DE CONTACTO mesa, declarar Teléfono como una matriz y luego generar el esquema XML que asignar la matriz a XML.

CREATE TABLE CONTACTINFO (nombre del personaje (30), PERSONAJE Teléfono (13) ARRAY [4]) -

Ahora puede asignar este tipo de XML con el siguiente esquema:

Este esquema generará algo como esto:

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

El elemento de la matriz que contiene xsi: nil = 'true' refleja el hecho de que el segundo número de teléfono en la tabla de origen contiene un valor nulo.

Multiset

Los números de teléfono en el ejemplo anterior podrían del mismo modo que se almacenan en un conjunto múltiple como en una matriz. Para asignar un conjunto múltiple, utilice algo parecido a lo siguiente:

CREATE TABLE CONTACTINFO (nombre del personaje (30), PERSONAJE Teléfono (13) MULTISET) -

Ahora puede asignar este tipo de XML con el siguiente esquema:

Este esquema generará algo como esto:

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



» » » » Cómo asignar tipos de datos SQL no predefinidos en XML