Exemples SQL

CREATE TABLE Compte (
	idCompte INT PRIMARY KEY auto_increment,
	idClient INT NOT NULL,
	solde REAL NOT NULL,
	INDEX (idClient)
) engine=InnoDB;
CREATE TABLE Operation (
	idOperation INT PRIMARY KEY auto_increment,
	idCompte INT NOT NULL REFERENCES Compte(idCompte),
	libelle VARCHAR(255),
	montant REAL NOT NULL,
	INDEX (idCompte)
) engine=InnoDB;
INSERT INTO Compte (idCompte, idClient, solde) VALUES (1, 5, 1500.10);
INSERT INTO Compte (idCompte, idClient, solde) VALUES (2, 5, 100.50);

# Virement de 100 euros du Compte 1 vers Compte 2

START TRANSACTION;
UPDATE Compte SET solde = solde + 100 WHERE idCompte = 1;
	# À ce moment là sans la transaction l'état de la base serait incohérent
UPDATE Compte SET solde = (solde - 100) WHERE idCompte = 2;
INSERT INTO Operation (idCompte, libelle, montant) VALUES (1, 'Virement', -100);
INSERT INTO Operation (idCompte, libelle, montant) VALUES (2, 'Virement', 100);
COMMIT;