Acceso de datos con variables de lenguaje principal
Puede utilizar variables de lenguaje principal, matrices de variables de lenguaje principal y estructuras de host en el programa de aplicación para intercambiar datos entre la aplicación y el DBMS.
Una variable de lenguaje principal es un elemento de datos que se declara en un programa para utilizar dentro de una sentencia de SQL. Puede:
- Recuperar datos en la variable de lenguaje principal para que los utilice el programa de aplicación.
- Situar datos en la variable de lenguaje principal para insertarlos en una tabla o cambiar el contenido de una fila.
- Utilizar los datos de la variable de lenguaje principal cuando se evalúa una cláusula WHERE o HAVING.
- Asignar el valor de la variable de lenguaje principal a un registro
especial. Un registro especial es un área de almacenamiento que Db2 define para que un proceso contenga información a la que las sentencias de SQL pueden hacer referencia.
Por ejemplo, el registro especial CURRENT SQLID contiene el ID de autorización SQL de un proceso, que se establece en una instrucción SQL. Db2 sustituye el nombre del registro por el valor del ID de autorización cuando se ejecuta la instrucción SQL.
- Utilizar la variable de lenguaje principal para indicar un valor nulo
El modo de codificar una variable de lenguaje principal varía según el lenguaje de programación que se utiliza. Algunos lenguajes requieren una sección de declaración separada para variables de SQL. En este caso, puede codificar las sentencias BEGIN y END DECLARE SECTION en un programa de aplicación cuando aparezcan declaraciones de variables de acuerdo con las reglas del lenguaje principal. Una sección de declaración de variable de lenguaje principal empieza con la sentencia BEGIN DECLARE SECTION y finaliza con la sentencia END DECLARE SECTION. La variable de lenguaje principal debe ir precedida por: hostvar
La cláusula INTO de la sentencia SELECT nombre una o más variables de lenguaje principal para que contengan los valores de columna devueltos. Para las variables de lenguaje principal y las matrices de variables de lenguaje principal, las variables con nombre corresponden una a una con la lista de nombres de columna en la lista SELECT.
Ejemplo
El ejemplo siguiente utiliza una variable de lenguaje principal para recuperar una única fila de datos.
EXEC SQL
SELECT EMPNO, LASTNAME, DEPT
INTO :CBLEMPNO, :CBLNAME, :CBLDEPT
FROM EMP
WHERE EMPNO = :EMPID
END-EXEC.Debe declarar las variables de lenguaje principal CBLEMPNO, CBLNAME y CBLDEPT en la parte de declaración de datos del programa. Los tipos de datos de las variables de lenguaje principal deben ser compatibles con los tipos de datos de SQL de las columnas EMPNO, LASTNAME y DEPT de la tabla EMP.
Suponga que no sabe cuántas filas devolverá Db2, o espera que devuelva más de una fila. En cualquier caso, debe utilizar una alternativa a SELECT ... INTO. Utilizando un cursor de Db2, una aplicación puede procesar un conjunto de filas y recuperar filas de la tabla de resultados.