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
- Procedimientos de transformación
- Procedimientos de origen
- Procedimientos específicos
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
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.
- 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.
- 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:
| 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:
| 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.