PostgreSQL La base de donnees la plus sophistiquee au monde.

Ceci est une ancienne révision du document !


Souvent vous devez des manipulations avec psql, probablement qu'en tant que personne prudente vous utilisiez cette commande [code] \set AUTOCOMMIT OFF [/code] Le problème est que si vous tapez mal une commande, tout ce qui précédait sera perdu

exemple [code] UPDATE TOTO set col1='Nouvelle valeur' where pk_toto=1; UPDATE TOTO set col1='Nouvelle valeur' where pk_toto=2; insert into TOTO (pk_toto,col1) value (5,'Nouvelle ligne'); [/code] Si la dernière commande est incorrecte (et ici c'est le cas) les 2 commandes updates précédentes vont être annulées.

Pour évitez cela, ajoutez [code] \set ON_ERROR_ROLLBACK ON [/code]

Ainsi seul la commande INSERT est annulé et les 2 commandes updates ne seront pas annulées, n'oubliez pas que les UPDATES ici ne seront sauvegardé que quand vous ferez un COMMIT

 
support/trucs_et_astuces/ne_faire_un_rollback_que_de_la_derniere_commande.1291640554.txt.gz · Dernière modification : 2010/12/06 14:02 de sparky