Foro de Cobol
Registrate en el Foro de Cobol y Aporta tus experiencias y conocimientos sobre este lenguaje de programacion, con tu ayuda el foro crecera y todos nos podremos beneficiar de los conocimientos de los demas.

Gracias por entrar a COBOLEROS.ES
Síguenos en Twitter

Codificar instrucciones SQL

Ver el tema anterior Ver el tema siguiente Ir abajo

Codificar instrucciones SQL

Mensaje por Coboler@ el Miér Dic 19, 2012 4:25 am

Cada instruccion comienza con EXEC SQL y termina con END-EXEC.

En lugar de instrucciones COPY se codificara INCLUDE.

No se pueden usar nombres de variables que comiencen por SQL, ni nombres de entradas externas o de plan que comiencen por DSN, y que estan reservados para el DB2.

No se pueden usar constantes figurativas como ZERO o SPACE en instrucciones SQL.



VARIABLES Y ESTRUCTURAS HOST


Las variables HOST son campos de datos, definidos en el programa en la WORKING STORAGE o en la LINKAGE SECTION, y especificados en la opcion INTO de una instruccion SELECT o FETCH, en los cuales seleccionan los valores de los datos recuperados por el DB2. Las variables se codifican en las instrucciones SQL precedidas por dos puntos.

Una estructura HOST es un conjunto de variables HOST definidas en la DATA DIVISION del programa. Puede tener un maximo de dos niveles excepto la declaracion de una cadena de caracteres de longitud variable que requiere un numero de nivel 49. Para identificar un campo de una estructura en una instruccion SQL se codificara el nombre de la estructura seguido de un punto y el nombre del campo.

La parte entera de un numero nunca es truncada, si un numero no entra en una variable o en una columna, se trunca la parte decimal y si no da un error.

La declaracion de variables HOST se hace en niveles 01 o 77.

Una cadena de caracteres de longitud variable debe tener un nivel 01 a 48, y contener dos campos elementales a nivel 49:

. Campo de longitud PIC S9(4) COMP.
. Campo de valor PIC X(80). (Como maximo).


VARIABLES INDICADOR

Una variable indicador es un entero de media palabra.

La variable indicador se especifica precedida de dos puntos inmediatamente despues de la variable HOST.

Ejemplo:

EXEC SQL
SELECT TELFNUM
INTO :TELEF:INDNULL
FROM DSN.TABEMPL
WHERE EMPNO = :EMPID
END-EXEC

Se usa para:
. Indicar si ha sido asignado un valor nulo a su variable asociada.

Si el valor de la columna que se esta recuperando es nulo el DB pone un valor negativo en la variable indicador ( si no se usara, daria un error), y el valor de la variable HOST no se alterara.

. Verificar que una cadena de caracteres recuperada no ha sido truncada

Si la variable indicador contiene un entero positivo, este espera la longitud original de la cadena.

. Colocar un valor nulo en una columna

Cuando se procesa una instruccion UPDATE el DB2 chequea la varible indicador. Si esta contiene un valor negativo, el valor de la cadena se pondra como nulo. Si contiene un valor mayor que -1 la variable asociada contiene un valor para la columna.
avatar
Coboler@
Admin

Mensajes : 215
Reputación : 19
Fecha de inscripción : 02/02/2011
Edad : 37
Localización : Madrid

Ver perfil de usuario http://www.coboleros.es

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.