En aquest mòdul, aprendrem com el Llenguatge de Control (CL) pot interactuar amb bases de dades. Aquesta habilitat és crucial per a la gestió de dades i l'automatització de processos en entorns empresarials. Explorarem les comandes bàsiques per accedir, manipular i gestionar dades en bases de dades.
Objectius del Tema
- Comprendre com connectar-se a una base de dades des de CL.
- Aprendre a executar consultes SQL des de CL.
- Manipular dades utilitzant comandes CL.
- Gestionar transaccions de bases de dades.
- Connexió a una Base de Dades
1.1. Configuració de la Connexió
Per connectar-se a una base de dades, primer hem de configurar els paràmetres de connexió. Això inclou el nom de la base de dades, l'usuari, la contrasenya i altres paràmetres necessaris.
/* Exemple de configuració de la connexió */ DCL VAR(&DB_NAME) TYPE(*CHAR) LEN(10) VALUE('MYDB') DCL VAR(&USER) TYPE(*CHAR) LEN(10) VALUE('USER') DCL VAR(&PASSWORD) TYPE(*CHAR) LEN(10) VALUE('PASSWORD')
1.2. Establir la Connexió
Utilitzem la comanda CONNECT
per establir la connexió amb la base de dades.
- Executar Consultes SQL
2.1. Comanda RUNSQL
La comanda RUNSQL
permet executar instruccions SQL directament des de CL.
2.2. Emmagatzemar Resultats
Podem emmagatzemar els resultats de les consultes en variables per a un ús posterior.
/* Emmagatzemar resultats en variables */ DCL VAR(&EMP_ID) TYPE(*CHAR) LEN(10) DCL VAR(&EMP_NAME) TYPE(*CHAR) LEN(50) RUNSQL SQL('SELECT EMP_ID, EMP_NAME FROM EMPLOYEES WHERE EMP_ID = 1') OUTPUT(*OUTFILE) OUTFILE(QTEMP/EMPRESULT)
- Manipulació de Dades
3.1. Inserir Dades
Utilitzem la comanda RUNSQL
per inserir dades en una taula.
/* Inserir dades en una taula */ RUNSQL SQL('INSERT INTO EMPLOYEES (EMP_ID, EMP_NAME) VALUES (2, ''John Doe'')') COMMIT(*NONE)
3.2. Actualitzar Dades
Podem actualitzar registres existents amb la comanda RUNSQL
.
/* Actualitzar dades en una taula */ RUNSQL SQL('UPDATE EMPLOYEES SET EMP_NAME = ''Jane Doe'' WHERE EMP_ID = 2') COMMIT(*NONE)
3.3. Esborrar Dades
Per esborrar registres, també utilitzem RUNSQL
.
- Gestió de Transaccions
4.1. Iniciar una Transacció
Les transaccions ens permeten agrupar múltiples operacions de bases de dades en una sola unitat de treball.
4.2. Confirmar una Transacció
Després de realitzar les operacions necessàries, confirmem la transacció.
4.3. Desfer una Transacció
Si alguna cosa surt malament, podem desfer la transacció.
Exercicis Pràctics
Exercici 1: Connexió i Consulta
- Configura una connexió a una base de dades anomenada
TESTDB
amb l'usuariTESTUSER
i la contrasenyaTESTPASS
. - Executa una consulta per obtenir tots els registres de la taula
PRODUCTS
.
Solució
DCL VAR(&DB_NAME) TYPE(*CHAR) LEN(10) VALUE('TESTDB') DCL VAR(&USER) TYPE(*CHAR) LEN(10) VALUE('TESTUSER') DCL VAR(&PASSWORD) TYPE(*CHAR) LEN(10) VALUE('TESTPASS') CONNECT TO &DB_NAME USER &USER USING &PASSWORD RUNSQL SQL('SELECT * FROM PRODUCTS') COMMIT(*NONE)
Exercici 2: Inserir i Actualitzar Dades
- Inserta un nou registre a la taula
CUSTOMERS
ambCUST_ID
3 iCUST_NAME
'Alice'. - Actualitza el nom del client amb
CUST_ID
3 a 'Alice Smith'.
Solució
RUNSQL SQL('INSERT INTO CUSTOMERS (CUST_ID, CUST_NAME) VALUES (3, ''Alice'')') COMMIT(*NONE) RUNSQL SQL('UPDATE CUSTOMERS SET CUST_NAME = ''Alice Smith'' WHERE CUST_ID = 3') COMMIT(*NONE)
Resum
En aquest tema, hem après com connectar-nos a una base de dades des de CL, executar consultes SQL, manipular dades i gestionar transaccions. Aquestes habilitats són fonamentals per a la gestió eficient de dades en entorns empresarials. En el proper tema, explorarem com utilitzar APIs per ampliar les capacitats dels nostres programes CL.
Curs de CL (Llenguatge de Control)
Mòdul 1: Introducció al CL
- Què és el Llenguatge de Control?
- Configuració del Teu Entorn
- Sintaxi i Estructura Bàsiques
- Escrivint el Teu Primer Programa CL
Mòdul 2: Comandes Bàsiques de CL
- Introducció a les Comandes de CL
- Comandes de Gestió de Fitxers
- Comandes de Gestió de Treballs
- Comandes de Gestió del Sistema
Mòdul 3: Variables i Expressions
- Comprenent les Variables
- Definint i Utilitzant Variables
- Expressions i Operadors
- Manipulació de Cadenes
Mòdul 4: Estructures de Control
Mòdul 5: Comandes Avançades de CL
- Operacions Avançades de Fitxers
- Programació Avançada de Treballs
- Comandes de Configuració del Sistema
- Seguretat i Permisos