Etapa de procedimiento almacenado en DataStage

La etapa Procedimiento almacenado le permite ejecutar procedimientos almacenados para sus flujos. Un procedimiento almacenado es un bloque de construcciones procedimentales y sentencias SQL incrustadas que se almacena en una base de datos y que se puede invocar por su nombre. Con la etapa Procedimiento almacenado, también puede asignar columnas de entrada y salida a parámetros de entrada y salida en un procedimiento.

Tipos de procedimientos

La etapa Procedimiento almacenado admite los siguientes tipos de procedimientos:
  • Procedimientos de transformación
  • Procedimientos de origen
  • Procedimientos específicos
Nota: Los procedimientos de origen y destino no pueden tener enlaces de entrada y salida. Para utilizar los enlaces de entrada y salida, debe utilizar un procedimiento de transformación.
Un procedimiento fuente puede ejecutar un procedimiento almacenado que contenga una SQL SELECT instrucción. Puede:
  • Que te llamen una vez para el trabajo
  • Se utiliza con un enlace de salida
  • Devolver parámetros de salida
  • Devolver más de una fila
Un procedimiento de destino puede ejecutar un procedimiento almacenado que contenga una SQL INSERT instrucción. Puede:
  • Que te llamen una vez para el trabajo
  • Se llama una vez por cada fila
  • Se utiliza con un enlace de entrada
  • Pasar parámetros de entrada

Si desea mezclar y combinar parámetros con metadatos de columna, utilice un procedimiento de transformación y especifique los parámetros del procedimiento almacenado en la cuadrícula de parámetros.

El procedimiento de transformación ejecuta diversas decisiones lógicas en la base de datos. Puede:
  • Que te llamen una vez para el trabajo
  • Se llama una vez por cada fila
  • Pase los parámetros de entrada o devuelva los parámetros de salida utilizando la cuadrícula de parámetros
  • Pasar por columnas si se utiliza en medio del flujo con enlaces de entrada y salida
  • Utilizar únicamente con un enlace de entrada o salida
  • Se utiliza tanto con un enlace de entrada como con uno de salida
  • Devuelve más de uno ahora

Parámetros

Los procedimientos de origen y destino utilizan los metadatos de la columna como parámetros para pasar al procedimiento. No es necesario introducir la información del parámetro y, si se introduce, la etapa la ignora. Los procedimientos de origen utilizan los metadatos de la columna como parámetros de salida para leer desde la base de datos. Los procedimientos de destino utilizan los metadatos de la columna como parámetros de entrada para escribir en la base de datos.

La etapa Procedimiento almacenado utiliza una cuadrícula de parámetros para asignar las columnas de entrada y salida a los parámetros de entrada y salida del procedimiento almacenado. La cuadrícula de parámetros se encuentra en la pestaña Valores de parámetros de la página Etapa. Cuando se proporciona la información requerida, la etapa analiza estos valores y utiliza la información para crear la llamada al procedimiento almacenado y vincular las variables internas. Para los procedimientos de origen y destino, no se requieren especificaciones de parámetros y se ignoran porque se utilizan los metadatos de la columna para asignar la información de los parámetros.

Las siguientes reglas se aplican cuando se especifican los valores de los parámetros:
  • Los valores literales y los DataStage parámetros de trabajo solo son compatibles con los procedimientos de transformación.
  • El trabajo debe contener un enlace de entrada para que el tipo de parámetro se defina como Entrada/Salida o Entrada si el valor del parámetro es ?. DataStage necesita una fila activa desde la que leer los valores.
  • El trabajo debe contener un enlace de salida para que el tipo de parámetro se defina como Entrada/Salida, Salida o Función. DataStage necesita crear una fila activa para generar los valores.

El siguiente ejemplo ilustra una especificación de cuadrícula de parámetros que envía datos desde un enlace de entrada al procedimiento almacenado:

Tabla 1. Ejemplo 1
Nombre de parámetro Se correlaciona con la columna Marcador de parámetro/literal Tipo de parámetro
EMPNOP EMPNO ? Entrada
JOBP JOB ? Entrada/Salida
DEPTNOP DEPTNO 99 Entrada
ENAMEP ENAME #nombre Entrada

El siguiente ejemplo ilustra una especificación de cuadrícula de parámetros que envía y devuelve datos desde un procedimiento almacenado e inicia la ejecución de una función. Funciona así porque solo un tipo de parámetro es función:

Tabla 2. Ejemplo 2
Nombre de parámetro Se correlaciona con la columna Marcador de parámetro/literal Tipo de parámetro
FUNCSTATP FUNCSTAT ? Función
DNAMEP DNAME ? Resultado
LOCP LOC #ciudad# Entrada

Más información

Para obtener más información sobre los procedimientos almacenados, consulte Uso de procedimientos almacenados en DataStage.