Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1416 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL]aide sur une requete d'update

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SQL]aide sur une requete d'update

n°1047026
albertos
kikoo
Posté le 14-04-2005 à 10:09:14  profilanswer
 

j'ai une requete d'update a faire mais ça ne marche pas (evidement... :heink:  ). Donc je m'explique :
j'ai 2 tables emploi, et contrat:
- contrat : ident,objectif
- emploi : ident
 
je voudrai que quand on retrouve un ident present ds les 2 tables, la valeur de objectif de la table contrat prenne la chaine de caractere 'emploi'.
 
ça c'est ce que j'ai fait, je pense que c'est a refaire lol:

Code :
  1. UPDATE CONTRAT
  2.               SET    contrat.OBJECTIF = 'emploi'
  3.               WHERE  ident = (SELECT  ident
  4.                                     FROM   CONTRAT C
  5.                                     JOIN EMPLOI E
  6.                                     ON E.IDENT = C.IDENT)

mood
Publicité
Posté le 14-04-2005 à 10:09:14  profilanswer
 

n°1047039
Zzozo
Un peu, passionément, à la fol
Posté le 14-04-2005 à 10:20:26  profilanswer
 

albertos a écrit :

j'ai une requete d'update a faire mais ça ne marche pas (evidement... :heink:  ). Donc je m'explique :
j'ai 2 tables emploi, et contrat:
- contrat : ident,objectif
- emploi : ident
 
je voudrai que quand on retrouve un ident present ds les 2 tables, la valeur de objectif de la table contrat prenne la chaine de caractere 'emploi'.
 
ça c'est ce que j'ai fait, je pense que c'est a refaire lol:

Code :
  1. UPDATE CONTRAT
  2.               SET    contrat.OBJECTIF = 'emploi'
  3.               WHERE  ident = (SELECT  ident
  4.                                     FROM   CONTRAT C
  5.                                     JOIN EMPLOI E
  6.                                     ON E.IDENT = C.IDENT)



 
Euh ... plus simple ... :o
 

UPDATE contrat
  SET contrat.objectif = 'emploi'
FROM contrat, emploi
WHERE  contrat.ident = emploi.ident


un truc dans le genre  :o


Message édité par Zzozo le 14-04-2005 à 10:20:44
n°1047184
albertos
kikoo
Posté le 14-04-2005 à 11:53:34  profilanswer
 

merci mais ça n'a pas l'air de fonctionner  
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 3, char 13.
FROM.
 
(c'est sur Interbase de Borland)

n°1047231
Zzozo
Un peu, passionément, à la fol
Posté le 14-04-2005 à 12:23:43  profilanswer
 

albertos a écrit :

merci mais ça n'a pas l'air de fonctionner  
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 3, char 13.
FROM.
 
(c'est sur Interbase de Borland)


Je ne me rappelle plusde Interbase ... mais ce que j'ai mis c'est du SQL assez, voire complètment "standard"
Evetuellement rajoutes un ; à la fin de la ligne SET
 
Oublies pas de te positionner au préalable sur la bonne base (avec un USE <nom de la base>, encore que avec Interbase je sais pas), si ton user n'a pas la bonne base par défaut

n°1054843
Maitre Obi​wan
Jack D. featuring Obiwan K.
Posté le 21-04-2005 à 09:49:27  profilanswer
 

je sais que ce genre de requete ne marche pas sous mysql car il n'accepte pas les sous requete avec UPDATE, mais normalement sur Interbase, il ne devrait pas y avoir de probleme...
 
en tout cas je suis dans le meme cas que toi, je cherche une solution...


---------------
Je sais ce qui ne va pas dans ce pays, nous dépensons un fric que nous n'avons pas pour acheter des choses dont nous n'avons pas besoin pour impressionner des gens que nous n'aimons pas...
n°1054858
Elmoricq
Modérateur
Posté le 21-04-2005 à 10:16:05  profilanswer
 

Si la sous-requête ne fonctionne pas dans Interbase, essaie un truc du genre :
 

UPDATE CONTRAT
SET    contrat.OBJECTIF = 'emploi'
WHERE  ident IN (SELECT  ident
FROM   CONTRAT C
JOIN EMPLOI E
ON E.IDENT = C.IDENT)

n°1054861
sircam
I Like Trains
Posté le 21-04-2005 à 10:18:10  profilanswer
 

La solution de zzozo ne me dit rien de bon. En tout cas, avec Orak, ça ne passe pas non plus.
 
Par contre, ta commande originale pourrait marcher, mais je pense que dans ton select imbriqué, tu fais appel à "contrat C", qui n'est pas la même table que dans "UPDATE Contrat" !
 
Essaye "UPDATE Contrat C" à la place pour voir. Simple idée comme ça, je ne suis pas un SQL master.
 
Par "ça ne marche pas", tu entends quoi ? Peux-tu être plus précis ?


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1054876
Maitre Obi​wan
Jack D. featuring Obiwan K.
Posté le 21-04-2005 à 10:39:19  profilanswer
 

albertos a écrit :

j'ai une requete d'update a faire mais ça ne marche pas (evidement... :heink:  ). Donc je m'explique :
j'ai 2 tables emploi, et contrat:
- contrat : ident,objectif
- emploi : ident
 
je voudrai que quand on retrouve un ident present ds les 2 tables, la valeur de objectif de la table contrat prenne la chaine de caractere 'emploi'.
 
ça c'est ce que j'ai fait, je pense que c'est a refaire lol:

Code :
  1. UPDATE CONTRAT
  2.               SET    contrat.OBJECTIF = 'emploi'
  3.               WHERE  ident = (SELECT  ident
  4.                                     FROM   CONTRAT C
  5.                                     JOIN EMPLOI E
  6.                                     ON E.IDENT = C.IDENT)



 
 
tiens essai cette requete peut etre... je pense que ca devrait marcher! en tout cas moi ca marche sous mysql...

Code :
  1. UPDATE contrat c, emploi e SET c.objectif='emploi' WHERE c.ident = e.ident;


Message édité par Maitre Obiwan le 21-04-2005 à 10:39:48

---------------
Je sais ce qui ne va pas dans ce pays, nous dépensons un fric que nous n'avons pas pour acheter des choses dont nous n'avons pas besoin pour impressionner des gens que nous n'aimons pas...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL]aide sur une requete d'update

 

Sujets relatifs
probleme de supression te d'update de baseAide programmation Pascal
Quel livre pour apprendre le SQLaide REGEX
Aide pour parser un XMLTester le nombre de retours d'une requête
[SQL] Annuler contrainteaide Java au bout du pointeur
[Blog] Script et aide pour un "nul"...Connection à db + affichage d'une requête
Plus de sujets relatifs à : [SQL]aide sur une requete d'update


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR