Sentencia INCLUDE
La sentencia INCLUDE inserta declaraciones en un programa fuente.
Invocación
Esta sentencia sólo puede incorporarse en un programa de aplicación. No es una sentencia ejecutable.
Autorización
No se necesita.
Sintaxis
Descripción
- SQLCA
- Indica que se debe incluir la descripción de un área de comunicaciones SQL (SQLCA).
- SQLDA
- Indica que se debe incluir la descripción de un área de descriptores SQL (SQLDA).
- nombre
- Identifica un archivo externo que contiene el texto que se debe incluir en el programa fuente que se está precompilando. Puede ser un identificador de SQL sin ninguna extensión de nombre de archivo o un literal entre comillas simples (' '). Un identificador SQL asume la extensión del nombre de archivo del archivo de origen que se está precompilando. Si no se proporciona ninguna extensión de nombre de archivo mediante un literal entrecomillado, entonces no se asume ninguna.
Notas
- Cuando se precompila un programa, la sentencia INCLUDE se sustituye por las sentencias fuente. Por lo tanto, la sentencia INCLUDE debe especificarse en un punto del programa en el que las sentencias fuente resultantes sean aceptables para el compilador.
- El archivo de origen externo debe estar escrito en el lenguaje del sistema principal especificado por nombre. Si es superior a 18 bytes o contiene caracteres que no están permitidos en un identificador de SQL, debe ir entre comillas simples. Las sentencias INCLUDE nombre pueden anidarse, aunque no cíclicamente (por ejemplo, si A y B son módulos y A contiene una sentencia INCLUDE nombre, no es válido que A llame a B y que, a continuación, B llame a A).
- Si la opción de precompilación LANGLEVEL se establece en el valor SQL92E, no debe especificarse INCLUDE SQLCA. Las variables SQLSTATE y SQLCODE pueden estar definidas en la sección de declaraciones de variables del lenguaje principal.
Ejemplo
Incluya una SQLCA en un programa C.
EXEC SQL INCLUDE SQLCA;
EXEC SQL DECLARE C1 CURSOR FOR
SELECT DEPTNO, DEPTNAME, MGRNO FROM TDEPT
WHERE ADMRDEPT = 'A00';
EXEC SQL OPEN C1;
mientras (SQLCODE==0) {
EXEC SQL FETCH C1 INTO :dnum, :dname, :mnum;
(Imprimir resultados)
}
EXEC SQL CLOSE C1;