En aquest tema, aprendrem com interactuar amb bases de dades des de programes COBOL. Ens centrarem en les operacions bàsiques com la inserció, actualització, eliminació i consulta de dades utilitzant SQL incrustat en COBOL.
Continguts
- Introducció a SQL incrustat en COBOL
- Inserció de Dades
- Actualització de Dades
- Eliminació de Dades
- Consulta de Dades
- Exercicis Pràctics
- Introducció a SQL incrustat en COBOL
SQL incrustat permet als programes COBOL executar instruccions SQL directament dins del codi COBOL. Això es fa utilitzant la sentència EXEC SQL
per iniciar un bloc SQL i END-EXEC
per finalitzar-lo.
Exemple Bàsic
IDENTIFICATION DIVISION. PROGRAM-ID. ExampleSQL. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-EMP-ID PIC 9(5). 01 WS-EMP-NAME PIC X(20). PROCEDURE DIVISION. EXEC SQL SELECT EMP_ID, EMP_NAME INTO :WS-EMP-ID, :WS-EMP-NAME FROM EMPLOYEE WHERE EMP_ID = 1001 END-EXEC. DISPLAY 'Employee ID: ' WS-EMP-ID. DISPLAY 'Employee Name: ' WS-EMP-NAME. STOP RUN.
- Inserció de Dades
Per inserir dades en una taula de la base de dades, utilitzem la instrucció INSERT INTO
.
Exemple d'Inserció
IDENTIFICATION DIVISION. PROGRAM-ID. InsertExample. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-EMP-ID PIC 9(5) VALUE 1002. 01 WS-EMP-NAME PIC X(20) VALUE 'John Doe'. PROCEDURE DIVISION. EXEC SQL INSERT INTO EMPLOYEE (EMP_ID, EMP_NAME) VALUES (:WS-EMP-ID, :WS-EMP-NAME) END-EXEC. DISPLAY 'Record inserted successfully.'. STOP RUN.
- Actualització de Dades
Per actualitzar dades existents en una taula, utilitzem la instrucció UPDATE
.
Exemple d'Actualització
IDENTIFICATION DIVISION. PROGRAM-ID. UpdateExample. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-EMP-ID PIC 9(5) VALUE 1002. 01 WS-EMP-NAME PIC X(20) VALUE 'Jane Doe'. PROCEDURE DIVISION. EXEC SQL UPDATE EMPLOYEE SET EMP_NAME = :WS-EMP-NAME WHERE EMP_ID = :WS-EMP-ID END-EXEC. DISPLAY 'Record updated successfully.'. STOP RUN.
- Eliminació de Dades
Per eliminar dades d'una taula, utilitzem la instrucció DELETE
.
Exemple d'Eliminació
IDENTIFICATION DIVISION. PROGRAM-ID. DeleteExample. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-EMP-ID PIC 9(5) VALUE 1002. PROCEDURE DIVISION. EXEC SQL DELETE FROM EMPLOYEE WHERE EMP_ID = :WS-EMP-ID END-EXEC. DISPLAY 'Record deleted successfully.'. STOP RUN.
- Consulta de Dades
Per consultar dades d'una taula, utilitzem la instrucció SELECT
.
Exemple de Consulta
IDENTIFICATION DIVISION. PROGRAM-ID. SelectExample. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-EMP-ID PIC 9(5) VALUE 1001. 01 WS-EMP-NAME PIC X(20). PROCEDURE DIVISION. EXEC SQL SELECT EMP_NAME INTO :WS-EMP-NAME FROM EMPLOYEE WHERE EMP_ID = :WS-EMP-ID END-EXEC. DISPLAY 'Employee Name: ' WS-EMP-NAME. STOP RUN.
- Exercicis Pràctics
Exercici 1: Inserir un Nou Empleat
Escriu un programa COBOL que insereixi un nou registre a la taula EMPLOYEE
amb els següents valors:
- EMP_ID: 1003
- EMP_NAME: 'Alice Smith'
Solució
IDENTIFICATION DIVISION. PROGRAM-ID. InsertExercise. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-EMP-ID PIC 9(5) VALUE 1003. 01 WS-EMP-NAME PIC X(20) VALUE 'Alice Smith'. PROCEDURE DIVISION. EXEC SQL INSERT INTO EMPLOYEE (EMP_ID, EMP_NAME) VALUES (:WS-EMP-ID, :WS-EMP-NAME) END-EXEC. DISPLAY 'Record inserted successfully.'. STOP RUN.
Exercici 2: Actualitzar el Nom d'un Empleat
Escriu un programa COBOL que actualitzi el nom de l'empleat amb EMP_ID 1003 a 'Alice Johnson'.
Solució
IDENTIFICATION DIVISION. PROGRAM-ID. UpdateExercise. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-EMP-ID PIC 9(5) VALUE 1003. 01 WS-EMP-NAME PIC X(20) VALUE 'Alice Johnson'. PROCEDURE DIVISION. EXEC SQL UPDATE EMPLOYEE SET EMP_NAME = :WS-EMP-NAME WHERE EMP_ID = :WS-EMP-ID END-EXEC. DISPLAY 'Record updated successfully.'. STOP RUN.
Exercici 3: Eliminar un Empleat
Escriu un programa COBOL que elimini el registre de l'empleat amb EMP_ID 1003.
Solució
IDENTIFICATION DIVISION. PROGRAM-ID. DeleteExercise. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-EMP-ID PIC 9(5) VALUE 1003. PROCEDURE DIVISION. EXEC SQL DELETE FROM EMPLOYEE WHERE EMP_ID = :WS-EMP-ID END-EXEC. DISPLAY 'Record deleted successfully.'. STOP RUN.
Conclusió
En aquesta secció, hem après com realitzar operacions bàsiques de base de dades en COBOL utilitzant SQL incrustat. Hem cobert la inserció, actualització, eliminació i consulta de dades. Aquests conceptes són fonamentals per a la gestió de dades en aplicacions empresarials. En el proper tema, explorarem la gestió de cursors en COBOL per a un control més detallat sobre les consultes de bases de dades.
Curs de Programació COBOL
Mòdul 1: Introducció al COBOL
- Què és el COBOL?
- Història del COBOL
- Configuració de l'Entorn COBOL
- Estructura Bàsica d'un Programa COBOL
Mòdul 2: Sintaxi Bàsica del COBOL i Tipus de Dades
Mòdul 3: Estructures de Control
Mòdul 4: Treballant amb Dades
- Gestió d'Arxius en COBOL
- Processament d'Arxius Seqüencials
- Processament d'Arxius Indexats
- Processament d'Arxius Relatius
Mòdul 5: Gestió Avançada de Dades
Mòdul 6: Subprogrames i Programació Modular
Mòdul 7: Gestió d'Errors i Depuració
Mòdul 8: COBOL i Bases de Dades
Mòdul 9: Temes Avançats
- COBOL Orientat a Objectes
- COBOL i Serveis Web
- Optimització del Rendiment
- Millors Pràctiques en Programació COBOL