Inserción de varias filas de datos desde matrices de variables de host
Utilice las variables de host en la sentencia INSERT cuando no conozca al menos algunos de los valores que se han de insertar hasta que el programa se ejecuta.
Acerca de esta tarea
Puede utilizar la forma FOR n ROWS de la sentencia INSERT o la sentencia MERGE para insertar varias filas a partir de valores que se proporcionan en matrices de variables de host.
Cada matriz contiene valores para una columna de la tabla de destino. El primer valor de una matriz corresponde al valor de esa columna para la primera fila insertada, el segundo valor de la matriz corresponde al valor de esa columna en la segunda fila insertada, y así sucesivamente. Db2 determina los atributos de los valores basándose en la declaración de la matriz.
Ejemplo
Suponga que las matrices de variables de host HVA1, HVA2 y HVA3 se han declarado y rellenado con los valores que se van a insertar en las columnas ACTNO, ACTKWD y ACTDESC de la tabla ACT. La variable host NUM-ROWS especifica el número de filas a insertar, que debe ser menor o igual que la dimensión de cada matriz de variables host.
Puede insertar el número de filas especificadas en la variable de host NUM-ROWS utilizando la siguiente instrucción INSERT:
EXEC SQL
INSERT INTO DSN8C10.ACT
(ACTNO, ACTKWD, ACTDESC)
VALUES (:HVA1, :HVA2, :HVA3)
FOR :NUM-ROWS ROWS
END-EXEC.