UPDATE de 2 tables

cnguyen Messages postés 81 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 12 juillet 2006 - 5 juil. 2006 à 14:25
cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 - 12 juil. 2006 à 14:29
Bonjour, j'aimerai savoir comment faire un update de 2 tables dans oracle :

Je voudrais mettre ces 2 updates en un seul :

UPDATE proact SET projet @projet WHERE (projet @original_projet)

UPDATE cra SET projet @projet WHERE (projet @original_projet)

J'ai essayé de commencer comme sa :
UPDATE proact, cra SET......
Mais sa ne passe pas
A voir également:

4 réponses

cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 4
8 juil. 2006 à 17:04
Impossible Avec SQL Server et sans doute aussi avec Oracle(mais je ne connait pas spécifiquement).
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 36
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)

Voila
cnguyen Messages postés 81 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 12 juillet 2006
12 juil. 2006 à 13:58
Hello,

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)???

Comment faut-il faire ????
cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 4
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.
Rejoignez-nous