CodeStart.it
Corsi SQL Transazioni
Torre · Approfondisci · Capitolo 13 di 17

Transazioni

SQLLettura + laboratorioCorso gratuito
Che cosa imparerai

Una transazione raggruppa operazioni che devono riuscire insieme oppure essere annullate.

1. Il concetto, spiegato da zero

Una transazione raggruppa operazioni che devono riuscire insieme oppure essere annullate.

BEGIN avvia, COMMIT conferma e ROLLBACK annulla le modifiche non confermate. È essenziale per operazioni coerenti come trasferimenti di denaro.

2. Un esempio ragionato

Osserva l’esempio e leggi ogni istruzione nell’ordine. Prima di provarlo, fermati a prevedere cosa succederà; capire il motivo del risultato è più importante che memorizzare la sintassi.

Codice di esempio · SQL
BEGIN;
UPDATE studenti SET voto = voto + 1 WHERE nome = 'Ada';
COMMIT;
SELECT nome, voto FROM studenti WHERE nome = 'Ada';
Query di prova

Risultati confrontati con una tabella di riferimento, usando dati di esercitazione.

Come leggere questo esempio

  1. Prima di eseguire, prova a prevedere il risultato dell’esempio.
  2. Spiega con parole tue in che modo “transazioni” risolve un problema concreto.
  3. Rileggi ogni riga del programma e individua i valori che vengono creati o modificati.
  4. Modifica un valore; confronta il comportamento e annota che cosa è cambiato.
Errore frequente
Non aprire una transazione dimenticandoti di chiuderla: può bloccare risorse nel database reale.

3. Adesso tocca a te

Obiettivo dell’esercizio: Esegui un aggiornamento dentro una transazione.

Puoi partire dall’esempio, riprodurlo e poi modificarlo. La soluzione di riferimento è disponibile sotto, ma conviene aprirla soltanto dopo un primo tentativo.

Laboratorio: metti alla prova il codice

SQL · sql

Le query SQLite girano su dati di esempio in un database temporaneo nel browser. A ogni prova il database ricomincia da zero.

Output / esito del controllo

Il risultato comparirà qui.
Mostra la soluzione di riferimento
Codice di esempio · SQL
BEGIN;
UPDATE studenti SET voto = voto + 1 WHERE nome = 'Ada';
COMMIT;
SELECT nome, voto FROM studenti WHERE nome = 'Ada';

Confronta il tuo procedimento con quello dell’esempio. Una soluzione differente può essere altrettanto valida se produce risultati corretti.

4. Verifica e ripasso

Quiz: hai capito il concetto?

Quale delle seguenti affermazioni è corretta per questo capitolo?

Seleziona una risposta

Promemoria

BEGIN avvia, COMMIT conferma e ROLLBACK annulla le modifiche non confermate. È essenziale per operazioni coerenti come trasferimenti di denaro.

5. Come proseguire

Prima del capitolo successivo, prova a spiegare il concetto a un amico senza leggere il codice. Se non riesci, torna all’esempio e fai una nuova variante: imparare significa anche sperimentare.

← Capitolo precedente