IBM Books

Administración y programación


Funciones de recuperación

Puede utilizar las funciones predefinidas de conversión de datos para convertir un UDT de XML en el tipo de datos base. El XML Extender también proporciona una función sobrecargada Content(), que se utiliza para la recuperación de datos.

La función Content() proporciona los tipos siguientes de recuperación de datos:

Los ejemplos de la sección siguiente dan por supuesto que el usuario está utilizando el shell de mandatos de DB2, en el que no es necesario escribir "DB2" al principio de cada mandato.

Content(): recuperar de XMLFILE y almacenar en CLOB

Finalidad

Recupera datos de un archivo de servidor y los almacena en un localizador de CLOB.

Sintaxis
de XMLFILE a CLOB
>>-Content--(--objxml--)---------------------------------------><
 

Parámetros

Tabla 26. Parámetro de XMLFILE a CLOB
Parámetro Tipo de datos Descripción
objxml XMLFILE Es el documento XML.

Tipo de devolución

CLOB (long_clob) como LOCATOR

long_clob es 2G para DB2 UDB.

Ejemplo

El ejemplo siguiente recupera datos de un archivo de servidor y los almacena en un localizador de CLOB.

EXEC SQL BEGIN DECLARE SECTION;
     SQL TYPE IS CLOB_LOCATOR xml_buff;
EXEC SQL END DECLARE SECTION;
 
EXEC SQL CONNECT TO SALES_DB
 
EXEC SQL DECLARE cl CURSOR FOR
 
     SELECT Content(order) from sales_tab
     WHERE sales_person = 'Sriram Srinivasan'
 
EXEC SQL OPEN c1;
 
do {
   EXEC SQL FETCH c1 INTO :xml_buff;
   if (SQLCODE != 0) {
      break;
      }
   else {
     /* do with the XML doc in buffer */
     }
   }
 
EXEC SQL CLOSE c1;
 
EXEC SQL CONNECT RESET;

La columna ORDER de la tabla SALES_TAB es de tipo XMLFILE, por tanto la UDF Content() recupera datos de un archivo de servidor y los almacena en un localizador de CLOB.

Content(): recuperar de XMLVARCHAR y almacenar en archivo de servidor

externo

Finalidad

Recupera un documento XML de tipo XMLVARCHAR y lo almacena en un archivo de servidor externo.

Sintaxis
desde XMLVARCHAR a archivo de servidor externo
>>-Content--(--objxml--,--nombreArchivo--)---------------------><
 

Importante: Si ya existe un archivo con el nombre especificado, la función Content() escribirá encima de él.
Nota:

Parámetros

Tabla 27. Parámetros de la recuperación XMLVarchar a un archivo de servidor externo
Parámetro Tipo de datos Descripción
objxml XMLVARCHAR Es el documento XML.
nombreArchivo VARCHAR(512) Es el nombre completamente calificado del archivo de servidor.

Tipo de devolución

VARCHAR(512)

Ejemplo

El ejemplo siguiente recupera un documento XML de tipo XMLVARCHAR y lo almacena en un archivo de servidor externo.

CREATE table app1 (id int NOT NULL, order db2xml.XMLVarchar);
INSERT into app1 values (1, '<?xml version="1.0"?>
   <!DOCTYPE SYSTEM c:\dxx\samples\dtd\getstart.dtd"->
    <Order key="1">
      <Customer>
    <Name>American Motors</Name>
          <Email>parts@am.com</Email> 
      </Customer>
      <Part color="black">
          <key>68</key>
          <Quantity>36</Quantity>
          <ExtendedPrice>34850.16</ExtendedPrice>
          <Tax>6.000000e-02</Tax>
          <Shipment>
              <ShipDate>1998-08-19</ShipDate>
              <ShipMode>AIR </ShipMode>
          </Shipment>
          <Shipment>
              <ShipDate>1998-08-19</ShipDate>
              <ShipMode>BOAT </ShipMode>
          </Shipment>
    </Order>');
 
SELECT db2xml.Content(order, 'c:\dxx\samples\cmd\getstart_.dad') 
  from app1 where ID=1;

Content(): recuperar de XMLCLOB y almacenar en archivo de servidor

externo

Finalidad

Recupera un documento XML de tipo XMLCLOB y lo almacena en un archivo de servidor externo.

Sintaxis
desde XMLCLOB a archivo de servidor externo
>>-Content--(--objxml--,--nombreArchivo--)---------------------><
 

Importante: Si ya existe un archivo con el nombre especificado, la función Content() escribirá encima de él.

Parámetros

Tabla 28. Parámetros de la recuperación desde XMLCLOB a un archivo de servidor externo
Parámetro Tipo de datos Descripción
objxml XMLCLOB como LOCATOR Es el documento XML.
nombreArchivo VARCHAR(512) Es el nombre completamente calificado del archivo de servidor.

Tipo de devolución

VARCHAR(512)

Ejemplo

El ejemplo siguiente recupera un documento XML de tipo XMLCLOB y lo almacena en un archivo de servidor externo.

CREATE table app1 (id int NOT NULL, order db2xml.XMLCLOB not logged);
 
INSERT into app1 values (1, '<?xml version="1.0"?>
  <!DOCTYPE SYSTEM c:\dxx\samples\dtd\getstart.dtd"->
    <Order key="1">
      <Customer>
    <Name>American Motors</Name>
          <Email>parts@am.com</Email> 
      </Customer>
      <Part color="black">
          <key>68</key>
          <Quantity>36</Quantity>
          <ExtendedPrice>34850.16</ExtendedPrice>
          <Tax>6.000000e-02</Tax>
          <Shipment>
              <ShipDate>1998-08-19</ShipDate>
              <ShipMode>AIR </ShipMode>
          </Shipment>
          <Shipment>
              <ShipDate>1998-08-19</ShipDate>
              <ShipMode>BOAT </ShipMode>
          </Shipment>
    </Order>');
 
SELECT db2xml.Content(order, 'c:\dxx\samples\cmd\getstart.xml') 
	from app1 where ID=1;


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