Introducció

El SQL inserit en COBOL permet als programes COBOL interactuar directament amb bases de dades relacionals. Aquesta capacitat és crucial per a aplicacions empresarials que necessiten gestionar grans volums de dades de manera eficient. En aquest tema, aprendrem com utilitzar SQL dins de programes COBOL per realitzar operacions de base de dades com ara consultes, insercions, actualitzacions i eliminacions.

Conceptes Clau

  1. SQL Inserit: És la incorporació de sentències SQL dins del codi COBOL.
  2. Precompilador: Una eina que processa el codi COBOL amb SQL inserit abans de la compilació.
  3. Host Variables: Variables COBOL utilitzades per emmagatzemar resultats de consultes SQL o per passar valors a sentències SQL.

Estructura Bàsica

Declaració de la Secció SQL

Abans d'utilitzar SQL en un programa COBOL, cal declarar una secció especial per a SQL. Aquesta secció es declara dins de la DATA DIVISION.

DATA DIVISION.
WORKING-STORAGE SECTION.
EXEC SQL
    INCLUDE SQLCA
END-EXEC.

Exemple de Codi

A continuació, es mostra un exemple bàsic d'un programa COBOL que utilitza SQL inserit per seleccionar dades d'una taula de base de dades.

IDENTIFICATION DIVISION.
PROGRAM-ID. ExampleSQL.

DATA DIVISION.
WORKING-STORAGE SECTION.
EXEC SQL
    INCLUDE SQLCA
END-EXEC.

01 EMPLOYEE-ID PIC 9(5).
01 EMPLOYEE-NAME PIC X(30).

PROCEDURE DIVISION.
MAIN-LOGIC.
    EXEC SQL
        SELECT EMP_ID, EMP_NAME
        INTO :EMPLOYEE-ID, :EMPLOYEE-NAME
        FROM EMPLOYEES
        WHERE EMP_ID = 1001
    END-EXEC.

    DISPLAY 'Employee ID: ' EMPLOYEE-ID.
    DISPLAY 'Employee Name: ' EMPLOYEE-NAME.

    STOP RUN.

Explicació del Codi

  1. IDENTIFICATION DIVISION: Defineix el nom del programa.
  2. DATA DIVISION: Conté la secció de treball (WORKING-STORAGE SECTION) on es declaren les variables i la secció SQL.
  3. EXEC SQL INCLUDE SQLCA END-EXEC: Inclou l'àrea de comunicació SQL (SQLCA) necessària per gestionar errors i altres informacions de l'execució SQL.
  4. Host Variables: EMPLOYEE-ID i EMPLOYEE-NAME són variables COBOL que emmagatzemaran els resultats de la consulta SQL.
  5. EXEC SQL ... END-EXEC: Conté la sentència SQL per seleccionar dades de la taula EMPLOYEES.
  6. DISPLAY: Mostra els resultats de la consulta.

Exercicis Pràctics

Exercici 1: Selecció de Dades

Escriu un programa COBOL que seleccioni el nom i el salari d'un empleat amb un ID específic de la taula EMPLOYEES.

Solució

IDENTIFICATION DIVISION.
PROGRAM-ID. SelectEmployee.

DATA DIVISION.
WORKING-STORAGE SECTION.
EXEC SQL
    INCLUDE SQLCA
END-EXEC.

01 EMPLOYEE-ID PIC 9(5) VALUE 1002.
01 EMPLOYEE-NAME PIC X(30).
01 EMPLOYEE-SALARY PIC 9(7)V99.

PROCEDURE DIVISION.
MAIN-LOGIC.
    EXEC SQL
        SELECT EMP_NAME, EMP_SALARY
        INTO :EMPLOYEE-NAME, :EMPLOYEE-SALARY
        FROM EMPLOYEES
        WHERE EMP_ID = :EMPLOYEE-ID
    END-EXEC.

    DISPLAY 'Employee Name: ' EMPLOYEE-NAME.
    DISPLAY 'Employee Salary: ' EMPLOYEE-SALARY.

    STOP RUN.

Exercici 2: Inserció de Dades

Escriu un programa COBOL que insereixi un nou registre a la taula EMPLOYEES.

Solució

IDENTIFICATION DIVISION.
PROGRAM-ID. InsertEmployee.

DATA DIVISION.
WORKING-STORAGE SECTION.
EXEC SQL
    INCLUDE SQLCA
END-EXEC.

01 NEW-EMPLOYEE-ID PIC 9(5) VALUE 1003.
01 NEW-EMPLOYEE-NAME PIC X(30) VALUE 'John Doe'.
01 NEW-EMPLOYEE-SALARY PIC 9(7)V99 VALUE 50000.00.

PROCEDURE DIVISION.
MAIN-LOGIC.
    EXEC SQL
        INSERT INTO EMPLOYEES (EMP_ID, EMP_NAME, EMP_SALARY)
        VALUES (:NEW-EMPLOYEE-ID, :NEW-EMPLOYEE-NAME, :NEW-EMPLOYEE-SALARY)
    END-EXEC.

    DISPLAY 'New employee inserted successfully.'.

    STOP RUN.

Errors Comuns i Solucions

  1. Error de Sintaxi SQL: Assegura't que les sentències SQL estan correctament formades.
  2. Variables No Declarades: Verifica que totes les variables utilitzades en les sentències SQL estan declarades en la secció de treball.
  3. Problemes de Connexió: Assegura't que la connexió a la base de dades està configurada correctament.

Resum

En aquesta secció, hem après com utilitzar SQL inserit en programes COBOL per interactuar amb bases de dades relacionals. Hem vist exemples pràctics de selecció i inserció de dades, i hem discutit alguns errors comuns i les seves solucions. Amb aquests coneixements, estàs preparat per començar a integrar operacions de base de dades en els teus programes COBOL.

© Copyright 2024. Tots els drets reservats