IBM Books

Administración y programación


Funciones de almacenamiento

Utilice funciones de almacenamiento para insertar documentos XML en una base de datos DB2. Puede utilizar directamente en una sentencia INSERT o SELECT las funciones predefinidas de conversión de un UDT. Además, el XML Extender proporciona funciones UDF para extraer documentos XML de fuentes distintas que el tipo de datos base del UDT y convertirlos al UDT deseado.

El XML Extender proporciona las funciones de almacenamiento siguientes:

XMLVarcharFromFile()

Finalidad

Lee un documento XML de un archivo de servidor y devuelve el documento como un tipo XMLVARCHAR.

Sintaxis
XMLVarcharFromFile
>>-XMLVarcharFromFile--(--nombreArchivo--)---------------------><
 

Parámetros

Tabla 22. Parámetro de XMLVarcharFromFile
Parámetro Tipo de datos Descripción
nombreArchivo VARCHAR(512) Es el nombre completamente calificado del archivo de servidor.

Tipo de devolución

XMLVARCHAR

Ejemplo

El ejemplo siguiente lee un documento XML de un archivo de servidor y lo inserta en una columna XML como un tipo XMLVARCHAR.

EXEC SQL INSERT INTO sales_tab(ID, NAME, ORDER)
   VALUES('1234', 'Sriram Srinivasan',
           XMLVarcharFromFile('c:\dxx\samples\cmd\getstart.xml'))

Este ejemplo inserta un registro en la tabla SALES_TAB. La función XMLVarcharFromFile() importa el documento XML de un archivo a DB2 y lo guarda en forma de XMLVARCHAR.

XMLCLOBFromFile()

Finalidad

Lee un documento XML de un archivo de servidor y devuelve el documento como un tipo XMLCLOB.

Sintaxis
XMLCLOBFromFile
>>-XMLCLOBFromFile--(--nombreArchivo--)------------------------><
 

Parámetros

Tabla 23. Parámetro de XMLCLOBFromFile
Parámetro Tipo de datos Descripción
nombreArchivo VARCHAR(512) Es el nombre completamente calificado del archivo de servidor.

Tipo de devolución

XMLCLOB como LOCATOR

Ejemplo

El ejemplo siguiente lee un documento XML de un archivo de servidor y lo inserta en una columna XML como un tipo XMLCLOB.

EXEC SQL INSERT INTO sales_tab(ID, NAME, ORDER)
   VALUES('1234', 'Sriram Srinivasan',
           XMLCLOBFromFile('c:\dxx\samples\cmd\getstart.xml'))

La columna ORDER de la tabla SALES_TAB se ha definido con el tipo XMLCLOB. El ejemplo anterior muestra cómo se inserta la columna ORDER en la tabla SALES_TAB.

XMLFileFromVarchar()

Finalidad

Lee un documento XML de la memoria como VARCHAR, lo escribe en un archivo de servidor externo y devuelve el nombre de archivo y la vía de acceso como un tipo XMLFILE.

Sintaxis
XMLFileFromVarchar
>>-XMLFileFromVarchar--(--almacenamiento_intermedio--,--nombreArchivo--)-->
 
>--------------------------------------------------------------><
 

Parámetros

Tabla 24. Parámetros de XMLFileFromVarchar
Parámetro Tipo de datos Descripción
almacenamiento_intermedio VARCHAR(3K) Es la memoria intermedia.
nombreArchivo VARCHAR(512) Es el nombre completamente calificado del archivo de servidor.

Tipo de devolución

XMLFILE

Ejemplo

El ejemplo siguiente lee un documento XML de la memoria como VARCHAR, lo escribe en un archivo de servidor externo e inserta el nombre de archivo y la vía de acceso como un tipo XMLFILE en una columna XML.

EXEC SQL BEGIN DECLARE SECTION;
     	struct {	short len; char data[3000]; } xml_buff; 
EXEC SQL END DECLARE SECTION;
 
EXEC SQL INSERT INTO sales_tab(ID, NAME, ORDER) 
  VALUES('1234', 'Sriram Srinivasan',
	       XMLFileFromVarchar(:xml_buf, 'c:\dxx\samples\cmd\getstart.xml'))

La columna ORDER de la tabla SALES_TAB se ha definido con el tipo XMLFILE. El ejemplo anterior muestra cómo almacenar en un archivo de servidor un documento XML contenido en almacenamiento intermedio.

XMLFileFromCLOB()

Finalidad

Lee un documento XML como un localizador de CLOB, lo escribe en un archivo de servidor externo y devuelve el nombre de archivo y la vía de acceso como un tipo XMLFILE.

Sintaxis
XMLFileFromCLOB
>>-XMLFileFromCLOB--(--almacenamiento_intermedio--,--nombreArchivo--)-->
 
>--------------------------------------------------------------><
 

Parámetros

Tabla 25. Parámetros de XMLFileFromCLOB()
Parámetros Tipo de datos Descripción
almacenamiento_intermedio CLOB como LOCATOR Es el almacenamiento intermedio donde reside el documento XML.
nombreArchivo VARCHAR(512) Es el nombre completamente calificado del archivo de servidor.

Tipo de devolución

XMLFILE

Ejemplo

El ejemplo siguiente lee un documento XML como un localizador de CLOB, lo escribe en un archivo de servidor externo e inserta el nombre de archivo y la vía de acceso como un tipo XMLFILE en una columna XML.

EXEC SQL BEGIN DECLARE SECTION;
     SQL TYPE IS CLOB_LOCATOR xml_buff;
EXEC SQL END DECLARE SECTION;
 
EXEC SQL INSERT INTO sales_tab(ID, NAME, ORDER) 
   VALUES('1234', 'Sriram Srinivasan',
           XMLFileFromCLOB(:xml_buf, 'c:\dxx\samples\cmd\getstart.xml'))

La columna ORDER de la tabla SALES_TAB se ha definido con el tipo XMLFILE. Si tiene un documento XML en el almacenamiento intermedio, puede almacenarlo en un archivo de servidor.


[ Principio de página | Página anterior | Página siguiente | Contenido | Índice ]