En esta sección: Cómo: Referencia: |
Puede crear un archivo de salida de informe (es decir, un archivo HOLD) como una tabla temporal DBMS. Con esto consigue un mayor rendimiento ya que se realiza la operación de informe completa en el servidor DBMS en lugar de descargar datos a su ordenador y después nuevamente al servidor DBMS.
Por ejemplo, si en su proceso almacena salida de un informe para uso inmediato por parte de otro procedimiento, al almacenarlo como una tabla temporal en lugar de crear un archivo HOLD rutinario, evitará la carga adicional de transmitir datos intermedios a su ordenador.
Las columnas de tablas temporales se crean a partir de los siguientes elementos del informe
excepto para aquellos en los que se ha especificado NOPRINT.
La tabla temporal que ha creado desde su informe será del mismo tipo de origen de datos (o sea, del mismo DBMS) que el origen de datos del cual ha ejecutado su informe. Si el origen de datos del que ha ejecutado el informe contiene múltiples tablas, todas deberán ser del mismo tipo de origen de datos y deberán residir en el mismo lugar del servidor DBMS.
Puede elegir entre varios tipos de tabla.
Podrá crear archivos de extracción como tablas DBMS nativas con los siguientes adaptadores:
La sintaxis que se usa para guardar la salida de un informe como una tabla temporal nativa de DBMS es
ON TABLE HOLD [AS filename] FORMAT SAME_DB [PERSISTENCE persistValue]
donde:
Puesto que cada comando HOLD posterior reemplaza al archivo HOLD anterior, se recomienda especificar un nombre en cada solicitud para dirigir los datos extraídos a un archivo separado y así evitar que un archivo posterior reemplace a uno anterior.
Esta es la propiedad de persistencia predeterminada para todos los DBMS que admitan tablas volátiles.
Para más información sobre el soporte para la propiedad de volatilidad y sobre la persistencia y otras propiedades de la tabla para un DBMS en particular, consulte Propiedades de tablas temporales para valores persistentes SAME_DB y la documentación del proveedor de su DBMS.
Para más información sobre el soporte para la propiedad temporal global y sobre la persistencia y otras propiedades de la tabla para un DBMS determinado, consulte Propiedades de tablas temporales para valores persistentes SAME_DB y la documentación del proveedor de su DBMS.
El gráfico a continuación le ofrecerá información más detallada sobre la persistencia y otras propiedades de las tablas temporales de diferentes tipos de origen de datos que se pueden usar con el formato HOLD SAME_DB.
DBMS |
VOLATILE |
GLOBAL_TEMPORARY |
---|---|---|
DB2 |
DB2 en UNIX, Windows y DB2 para z/OS: una tabla volátil se crea usando el comando DECLARE GLOBAL TEMPORARY TABLE con la opción ON COMMIT PRESERVE ROWS. Las tablas temporales globales persisten y son visibles solo dentro de la sesión actual (conexión). SESSION es el nombre esquemático para todas las tablas temporales globales declaradas. |
DB2 versión 7.1 y mayor para z/OS solamente: una tabla temporal global se crea usando el comando CREATE GLOBAL TEMPORARY TABLE. La definición de una tabla temporal global es visible para otras sesiones pero los datos no lo son. Los datos se borran al final de cada transacción (comando COMMIT o ROLLBACK). La definición de la tabla continúa después de terminar la sesión. |
Informix |
Una tabla volátil se crea usando el comando CREATE TEMP TABLE con la opción WITH NO LOG. La definición y los datos continúan, y son visibles, solamente dentro de la propia sesión. |
Este tipo de tabla no se puede usar en Informix. |
Microsoft SQL Server |
Una tabla volátil se crea como una tabla temporal local con el prefijo de un solo símbolo numérico (#) antes del nombre. Por lo tanto, el nombre de la tabla volátil usado como un archivo HOLD es el nombre especificado por la frase HOLD, con el prefijo de símbolo numérico (#). La definición de tabla y los datos son persistentes y visibles únicamente en la sesión actual. |
El nombre de una tabla temporal global tiene como prefijo dos símbolos numéricos (##). Por lo tanto, el nombre de una tabla temporal global usado como un archivo HOLD es el nombre especificado por la frase HOLD, con el prefijo de dos símbolos numéricos (##). La tabla queda abandonada automáticamente cuando termina la sesión que la creó y las otras tareas han dejado de referirse a ella. La definición de la tabla y los datos son visibles en otras sesiones. |
MySQL |
Se crea una tabla volátil usando el comando CREATE TEMPORARY TABLE. La tabla temporal persiste y solo es visible dentro de la sesión actual (conexión). Si una tabla temporal tiene el mismo nombre que una tabla permanente, la tabla permanente se hace invisible. |
Este tipo de tabla no está admitida por MySQL. |
Oracle |
Oracle no admite este tipo de tabla. |
La definición de la tabla es visible en todas las sesiones. Sus datos sólo son visibles en la sesión que inserta datos en ella. La definición de la tabla persiste durante el mismo periodo que la definición de una tabla normal. |
Teradata |
Una definición de tabla volátil y sus datos son visibles solamente desde la sesión que creó la tabla e insertó los datos. La tabla volátil se crea con la opción ON COMMIT PRESERVE ROWS. |
Una tabla temporal global se mantiene durante el mismo periodo de tiempo que una tabla permanente. La definición es visible desde todas las sesiones, pero los datos solamente son visibles desde la se La tabla temporal global se crea con la opción ON COMMIT PRESERVE ROWS. |
Se asigna un nombre a cada columna del archivo HOLD:
Se crea una clave primaria o un índice para la tabla HOLD. La definición de la clave o índice se genera a partir de las claves de clasificación (BY) del comando TABLE, excepto en el caso de claves de clasificación no visibles (o sea, las claves de clasificación en las que se haya especificado NOPRINT). Para determinar si se va a crear una clave primaria o un índice:
WebFOCUS |