En este módulo, aprenderemos cómo el Lenguaje de Control (CL) puede interactuar con bases de datos. Este conocimiento es crucial para cualquier programador que necesite manipular datos almacenados en bases de datos desde programas CL. Cubriremos los conceptos básicos, comandos específicos y ejemplos prácticos para que puedas aplicar estos conocimientos en tus proyectos.
Objetivos del Módulo
- Entender cómo CL puede interactuar con bases de datos.
- Aprender los comandos básicos para la manipulación de bases de datos.
- Implementar ejemplos prácticos de interacción con bases de datos.
- Realizar ejercicios para reforzar los conceptos aprendidos.
Contenido
Conceptos Básicos de Interfaz con Bases de Datos
Antes de sumergirnos en los comandos y ejemplos, es importante entender algunos conceptos básicos:
- Base de Datos (DB): Un sistema organizado para almacenar, gestionar y recuperar información.
- Tabla: Una estructura dentro de una base de datos que almacena datos en filas y columnas.
- Registro: Una fila en una tabla que contiene datos relacionados.
- Campo: Una columna en una tabla que contiene un tipo específico de datos.
Comandos de Base de Datos en CL
CL proporciona varios comandos para interactuar con bases de datos. A continuación, se presentan algunos de los comandos más utilizados:
RUNSQLSTM
RUNSQLSTMEste comando ejecuta una sentencia SQL almacenada en un archivo fuente.
RUNSQL
RUNSQLEjecuta una sentencia SQL directamente desde el programa CL.
STRQMQRY
STRQMQRYInicia una consulta de Query Management (QM).
CPYFRMQRYF
CPYFRMQRYFCopia los resultados de una consulta a un archivo físico.
Ejemplos Prácticos
Ejemplo 1: Ejecutar una Consulta SQL
Vamos a ejecutar una consulta SQL que selecciona todos los registros de una tabla llamada EMPLOYEES.
PGM
DCL VAR(&SQLCMD) TYPE(*CHAR) LEN(100)
CHGVAR VAR(&SQLCMD) VALUE('SELECT * FROM EMPLOYEES')
RUNSQL SQL(&SQLCMD)
ENDPGMExplicación:
DCL VAR(&SQLCMD) TYPE(*CHAR) LEN(100): Declara una variable de tipo carácter para almacenar la sentencia SQL.CHGVAR VAR(&SQLCMD) VALUE('SELECT * FROM EMPLOYEES'): Asigna la sentencia SQL a la variable.RUNSQL SQL(&SQLCMD): Ejecuta la sentencia SQL almacenada en la variable.
Ejemplo 2: Copiar Resultados de una Consulta a un Archivo
Vamos a copiar los resultados de una consulta a un archivo físico.
Explicación:
STRQMQRY QMQRY(MYLIB/EMPQUERY): Inicia la consultaEMPQUERYalmacenada en la bibliotecaMYLIB.CPYFRMQRYF FROMOPNID(EMPQUERY) TOFILE(MYLIB/EMPRESULT): Copia los resultados de la consulta al archivoEMPRESULT.
Ejercicios Prácticos
Ejercicio 1: Crear y Ejecutar una Consulta SQL
Instrucciones:
- Crea una tabla llamada
DEPARTMENTScon los camposDEPT_IDyDEPT_NAME. - Inserta algunos registros en la tabla.
- Escribe un programa CL que seleccione todos los registros de la tabla
DEPARTMENTS.
Solución:
-- Crear la tabla
CREATE TABLE DEPARTMENTS (
DEPT_ID INT PRIMARY KEY,
DEPT_NAME VARCHAR(100)
);
-- Insertar registros
INSERT INTO DEPARTMENTS (DEPT_ID, DEPT_NAME) VALUES (1, 'HR');
INSERT INTO DEPARTMENTS (DEPT_ID, DEPT_NAME) VALUES (2, 'Finance');
INSERT INTO DEPARTMENTS (DEPT_ID, DEPT_NAME) VALUES (3, 'IT');
-- Programa CL
PGM
DCL VAR(&SQLCMD) TYPE(*CHAR) LEN(100)
CHGVAR VAR(&SQLCMD) VALUE('SELECT * FROM DEPARTMENTS')
RUNSQL SQL(&SQLCMD)
ENDPGMEjercicio 2: Copiar Resultados a un Archivo
Instrucciones:
- Crea una consulta QM que seleccione todos los registros de la tabla
DEPARTMENTS. - Escribe un programa CL que copie los resultados de la consulta a un archivo llamado
DEPTRESULT.
Solución:
-- Crear la consulta QM (almacenada en MYLIB/QMQRY)
SELECT * FROM DEPARTMENTS;
-- Programa CL
PGM
STRQMQRY QMQRY(MYLIB/DEPTQUERY)
CPYFRMQRYF FROMOPNID(DEPTQUERY) TOFILE(MYLIB/DEPTRESULT)
ENDPGMConclusión
En este módulo, hemos aprendido cómo interactuar con bases de datos utilizando CL. Hemos cubierto los comandos básicos, ejemplos prácticos y ejercicios para reforzar los conceptos. Ahora deberías sentirte cómodo ejecutando consultas SQL y manipulando datos desde tus programas CL. En el próximo módulo, exploraremos cómo usar APIs para extender las capacidades de tus programas CL.
Curso de CL (Lenguaje de Control)
Módulo 1: Introducción a CL
- ¿Qué es el Lenguaje de Control?
- Configuración de tu Entorno
- Sintaxis y Estructura Básica
- Escribiendo tu Primer Programa CL
Módulo 2: Comandos Básicos de CL
- Introducción a los Comandos de CL
- Comandos de Gestión de Archivos
- Comandos de Gestión de Trabajos
- Comandos de Gestión del Sistema
Módulo 3: Variables y Expresiones
- Entendiendo las Variables
- Definiendo y Usando Variables
- Expresiones y Operadores
- Manipulación de Cadenas
Módulo 4: Estructuras de Control
Módulo 5: Comandos Avanzados de CL
- Operaciones Avanzadas de Archivos
- Programación Avanzada de Trabajos
- Comandos de Configuración del Sistema
- Seguridad y Permisos
