Acceso a datos con matrices de variables de lenguaje principal

Una matriz de variable de lenguaje principal es una matriz de datos que se declara en un lenguaje de host para su uso dentro de una sentencia de SQL. Puede recuperar datos en matrices de variables de lenguaje principal para que los utilice el programa de aplicación. También puede colocar datos en matrices de variables de lenguaje principal para insertar filas en una tabla.

Puede especificar matrices de variables de lenguaje principal en C, C + +, COBOL o PL/I. Cada matriz de variables de lenguaje principal contiene valores para una columna, y cada elemento de la matriz corresponde a un valor para una columna. Debe declarar la matriz en el programa de lenguaje principal antes de utilizarlo.

Solo se puede hacer referencia a las matrices de variables de lenguaje principal como una referencia simple en los contextos siguientes. En los diagramas de sintaxis, host-variable-array designa una referencia a una matriz de variables de host.

  • En una sentencia FETCH para una captación de varias filas. Ver declaración FETCH.
  • En la forma FOR n ROWS de la sentencia INSERT con una matriz de variables de host para los datos de origen. Ver declaración INSERT.
  • En una sentencia MERGE con varias filas de datos de origen. Véase la declaración MERGE.
  • En una sentencia EXECUTE para proporcionar un valor para un marcador de parámetro en una forma dinámica FOR n ROWS de la sentencia INSERT o una sentencia MERGE. Ver la instrucción EXECUTE.

Inicio del cambioSi una aplicación hace referencia a una matriz de variables de host en otros contextos no admitidos, Db2 devuelve el error SQLCODE -312.fin del cambio

Las matrices de variables de lenguaje principal se definen mediante sentencias del lenguaje principal, como se explica en los temas siguientes:

Consejo : Las matrices de variables de host no son compatibles con los programas ensamblador, FORTRAN o REXX. Sin embargo, puede utilizar áreas de descriptor de SQL (SQLDA) para obtener resultados similares en cualquier lenguaje de host. Para más información, consulte Definición de áreas de descriptor SQL (SQLDA ).

Ejemplo

Iniciar la información de la interfaz de programación de uso general.

La sentencia siguiente utiliza la matriz de variables de lenguaje principal, COL1, y la matriz de indicadores correspondiente, COL1IND. Suponga que COL1 tiene 10 elementos. El primer elemento de la matriz corresponde al primer valor, etc. COL1IND debe tener como mínimo 10 entradas.

EXEC SQL
  SQL FETCH FIRST ROWSET FROM C1 FOR 5 ROWS
    INTO :COL1 :COL1IND               
END-EXEC.
Finalizar la información de la interfaz de programación de uso general.