In questa lezione affronteremo i seguenti argomenti:
• Comprendere l'accesso ai database relazionali in COBOL.
• Imparare a connettersi e interrogare un database in COBOL.
• Praticare l'utilizzo di transazioni e commit.
Introduzione ai database relazionali:
- I database relazionali organizzano i dati in tabelle relazionate tra loro.
- COBOL può interagire con i database attraverso standard come SQL.
Connessione al database:
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
EXEC SQL
INCLUDE SQLCA
END-EXEC.
EXEC SQL
BEGIN DECLARE SECTION
END-EXEC.
PROCEDURE DIVISION.
EXEC SQL
CONNECT TO my_database
END-EXEC.
IF SQLCODE = 0 THEN
DISPLAY 'Connessione al database riuscita'.
ELSE
DISPLAY 'Errore durante la connessione al database: ', SQLERRM.
END-IF.
STOP RUN.
- EXEC SQL: Indica l'inizio di un'istruzione SQL.
- INCLUDE SQLCA: Inclusione di SQL Communication Area (SQLCA).
- CONNECT TO: Connessione al database specificato.
Interrogazione del database:
PROCEDURE DIVISION.
EXEC SQL
DECLARE employee_cursor CURSOR FOR
SELECT * FROM employees
END-EXEC.
EXEC SQL
OPEN employee_cursor
END-EXEC.
PERFORM UNTIL SQLCODE NOT EQUAL 0
EXEC SQL
FETCH NEXT FROM employee_cursor INTO :employee_id, :employee_name
END-EXEC.
IF SQLCODE = 0 THEN
DISPLAY 'Employee ID: ', employee_id, ', Name: ', employee_name.
END-IF.
END-PERFORM.
EXEC SQL
CLOSE employee_cursor
END-EXEC.
STOP RUN.
- DECLARE CURSOR: Dichiarazione di un cursore per l'interrogazione.
- OPEN CURSOR: Apertura del cursore.
- FETCH: Recupero dei record dal cursore.
- CLOSE CURSOR: Chiusura del cursore.
Gestione delle transazioni:
PROCEDURE DIVISION.
EXEC SQL
START TRANSACTION
END-EXEC.
EXEC SQL
UPDATE employees
SET salary = salary * 1.1
WHERE age > 30
END-EXEC.
EXEC SQL
COMMIT WORK
END-EXEC.
STOP RUN.
- START TRANSACTION: Avvio di una transazione.
- COMMIT WORK: Conferma della transazione.
Esecuzione:
- Connessione al database.
- Esecuzione di query per recuperare i dati.
- Aggiornamento dei dati e conferma della transazione.
Conclusioni:
In questa lezione, abbiamo esplorato l'accesso ai database relazionali in COBOL utilizzando il linguaggio SQL. Abbiamo imparato come connettersi a un database, eseguire query per recuperare dati e gestire transazioni per garantire l'integrità dei dati. Nella prossima lezione, esamineremo l'interfacciamento utente in COBOL.