nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutModérateurDernière intervention15 juillet 201137 12 juil. 2006 à 13:52
Salut
Je pense aussi que c'est impossible
Mais tu peux le simuler en mettant les deux ordres dans une transaction
si cela passe les deux tables sont maj(commit)
sinon rien (roolback)
cs_Malkuth
Messages postés268Date d'inscriptionsamedi 22 février 2003StatutMembreDernière intervention24 avril 20134 12 juil. 2006 à 14:29
Sous SQL SERVER en gros :
BEGIN TRANSACTION
UPDATE 1
UPDATE 2
COMMIT TRANSACTION
mais je te conseil de regarder la doc d'oracle pour avoir des détail sur les transaction avec oracle
il ya pas mal de paramêtre a prendre en compte :
Gestion des locks des tables ou des enregistrements
Gestion des erreurs dans les transactions.
Le principe générale d'une transaction c'est qu'elle englobe plusieurs opération de manière atomique(comme s'il n'y en avait qu'une) donc ou bien la transaction réussi et on la valide (COMMIT) ou bien on l'anulle (ROLLBACK) dans ce cas la base de donnée revient dans l'état ou elle était au début de la transaction.
c'est généralement le moyen utiliser pour éxécuter Deux opérations en évitant une autres requette vienne chambouler la base entre les deux., on peut aussi avoir d'autres system comme LOCK TABLE ET UNLOCK Table sous MySql.
Les transactions sont lié au SGBDR utiliser donc Trouve la Doc pour Oracle.