Page 1 sur 1

UPDATE sur une table avec des condition sur d'autres

Posté : 26 mars 2012, 16:27
par Breathe
Bonjour à tous,
J'ai un soucis pour une requête SQL concernant un UPDATE. J'ai deux tables (ce ne sont pas les vrais c'est pour simplifier) :

ABONNE (abo_id,nom,prenom,abo_chien_id)
CHIEN(chien_id,race,age)

Je voudrais changer la race des chiens de tout les jean-patric

je fais
UPDATE chien SET race='caniche' WHERE chien_id=abo_chien_id and prenom='jean-patric'
Or comme les attributs abo_chien_id et prenom ne sont pas dans la table chien j'ai droit à un "Invalid indentifier". Comment faire cette requête ?

Merci par avance pour votre aide :oops:

Re: UPDATE sur une table avec des condition sur d'autres

Posté : 26 mars 2012, 19:20
par dunbar
Salut,

Comme ceci je pense
UPDATE chien AS T1, abonne AS T2 
             SET T1.race = 'caniche' 
             WHERE T1.chien_id = T2.abo_chien_id 
             AND T2.prenom = 'jean-patric'

Re: UPDATE sur une table avec des condition sur d'autres

Posté : 27 mars 2012, 14:44
par Breathe
Avec cette méthode l'erreur qui m'est retournée est : "missing SET keyword".
Pourtant SET fait bien parti de la requête ... Je ne comprends pas. Faut-il deux SET car il y a deux table après UPDATE ? :?

Re: UPDATE sur une table avec des condition sur d'autres

Posté : 28 mars 2012, 09:36
par Breathe
Je vous copie la véritable requête si ça peut vous aider
UPDATE panier_commande AS T1,substance_view AS T2 SET T1.pani_date_=SYSDATE WHERE T1.pani_comm_id=1 and T1.pani_substance_id=T2.substance_id and T2.substance_carac_id=8 and T1.pani_date_accord is NULL

Re: UPDATE sur une table avec des condition sur d'autres

Posté : 28 mars 2012, 10:04
par albat
Et comme ceci ?
UPDATE panier_commande 
SET    pani_date_= SYSDATE
WHERE  pani_comm_id = 1
   AND pani_substance_id = substance_view.substance_id
   AND substance_view.substance_carac_id = 8
   AND pani_date_accord IS NULL

Re: UPDATE sur une table avec des condition sur d'autres

Posté : 28 mars 2012, 13:36
par Breathe
Avec cette requête j'obtiens : "SUBSTANCE_VIEW"."SUBS_CARAC_ID": invalid identifier

Pourtant cet attribut existe bien dans substance_view