PDA

View Full Version : [Database] Livello di isolamento


Ed_Bunker
19-09-2006, 16:08
Se devo effettuare una transazione nella quale effettuo una lettura su una tabella e in base al risultato della query effettuo l'aggiornamento di quella stessa tabella, qual e' il corretto livello di isolamento da impostare ?

Quello che mi interessa e' evitare che il dato letto con la prima query cambi durante la transazione (Ovvero fino al verificarsi di un commit o di un rollback)

Potrebbe essere corretto utilizzare READ_COMMITED ?

Ed_Bunker
21-09-2006, 09:26
up

trallallero
21-09-2006, 09:57
non hai specificato il linguaggio etc ...
se usi PL/SQL di ORACLE:


SELECT x INTO x_var
FROM table
WHERE y = z;
FOR UPDATE OF x;

IF x > 0 THEN
UPDATE table
SET x = ...
WHERE y = z;
END IF;

COMMIT;