Professional Documents
Culture Documents
Las Consultas SQL
Las Consultas SQL
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
DATA DIVISION.
WORKING-STORAGE SECTION.
EXEC SQL
INCLUDE SQLCA
END-EXEC.
EXEC SQL
INCLUDE STUDENT
END-EXEC.
END-EXEC.
01 WS-STUDENT-REC.
05 WS-STUDENT-ADDRESS X(50).
END-EXEC.
PROCEDURE DIVISION.
EXEC SQL
WHERE STUDENT-ID=1004
END-EXEC.
IF SQLCODE=0
DISPLAY WS-STUDENT-RECORD
END-IF.
STOP RUN.
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEPLIB DD DSN=MYDATA.URMI.DBRMLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM(SSID)
END
/*
PROGRAM-ID. HELLO.
DATA DIVISION.
WORKING-STORAGE SECTION.
EXEC SQL
INCLUDE SQLCA
END-EXEC.
EXEC SQL
INCLUDE STUDENT
END-EXEC.
END-EXEC.
01 WS-STUDENT-REC.
05 WS-STUDENT-ADDRESS X(50).
END-EXEC.
PROCEDURE DIVISION.
EXEC SQL
IF SQLCODE=0
DISPLAY WS-STUDENT-REC
END-IF.
STOP RUN.
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEPLIB DD DSN=MYDATA.URMI.DBRMLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM(SSID)
END
/*
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
DATA DIVISION.
WORKING-STORAGE SECTION.
EXEC SQL
INCLUDE SQLCA
END-EXEC.
EXEC SQL
INCLUDE STUDENT
END-EXEC.
END-EXEC.
01 WS-STUDENT-REC.
05 WS-STUDENT-ADDRESS X(50).
END-EXEC.
PROCEDURE DIVISION.
EXEC SQL
WHERE STUDENT-ID=1003
END-EXEC.
IF SQLCODE=0
END-IF.
STOP RUN.
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEPLIB DD DSN=MYDATA.URMI.DBRMLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM(SSID)
END
/*
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
DATA DIVISION.
WORKING-STORAGE SECTION.
EXEC SQL
INCLUDE SQLCA
END-EXEC.
EXEC SQL
INCLUDE STUDENT
END-EXEC.
END-EXEC.
01 WS-STUDENT-REC.
05 WS-STUDENT-ADDRESS X(50).
END-EXEC.
PROCEDURE DIVISION.
EXEC SQL
WHERE STUDENT-ID=:WS-STUDENT-ID
END-EXEC.
IF SQLCODE=0
END-IF.
STOP RUN.
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEPLIB DD DSN=MYDATA.URMI.DBRMLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM(SSID)
END
/*
Cursores
Los cursores se utilizan para manejar múltiples filas selecciones en un
momento. Son estructuras de datos que contenga todos los resultados
de una consulta. Estas pueden ser definidas en la Working-Storage
sección o división del procedimiento. A continuación, se indican las
operaciones asociadas con el cursor:
Declarar
Abrir
Cerrar
Buscar
Declare Cursor
Declaración Cursor se puede hacer en la Working-Storage sección o
división del procedimiento. La primera declaración es la instrucción
DECLARE que no es una instrucción ejecutable.
EXEC SQL
END-EXEC.
Abrir
Antes de utilizar un cursor, declaración abierta debe realizarse. La
instrucción Open prepara la SELECCIONE para su ejecución.
EXEC SQL
OPEN STUDCUR
END-EXEC.
Cerrar
Cerrar declaración libera toda la memoria ocupada por el cursor. Es
obligatorio para cerrar el cursor antes de terminar el programa.
EXEC SQL
CLOSE STUDCUR
END-EXEC.
Buscar
Fetch identifica el cursor y establece el valor de la cláusula into. Una
instrucción Fetch es codificada en bucle, como tenemos una fila a la
vez.
EXEC SQL
FETCH STUDCUR
END-EXEC.
El siguiente ejemplo muestra el uso del cursor para obtener todos los
registros de la tabla de alumnos:
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
DATA DIVISION.
WORKING-STORAGE SECTION.
EXEC SQL
INCLUDE SQLCA
END-EXEC.
EXEC SQL
INCLUDE STUDENT
END-EXEC.
END-EXEC.
01 WS-STUDENT-REC.
05 WS-STUDENT-ADDRESS X(50).
END-EXEC.
EXEC SQL
END-EXEC.
PROCEDURE DIVISION.
EXEC SQL
FETCH STUDCUR
END-EXEC
DISPLAY WS-STUDENT-REC
END-PERFORM
STOP RUN.
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEPLIB DD DSN=MYDATA.URMI.DBRMLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM(SSID)
END
/*