modifier un enregistrement a partir d'une requete

modifier un enregistrement a partir d'une requete - SQL/NoSQL - Programmation

Marsh Posté le 15-05-2003 à 10:20:22    

Bonjour
 
sachant que j'ai 2 tables : categories(n_categorie, nom_categorie)
 et produits(n_produit, description, nbenstock,  
 
je selectionne un produit en selctionnant d'abord la categorie dans une premiere liste, puis en selectionnant un produit dans la liste des produits par categorie(ma 2eme liste est basée sur une requete produits par categories)
 
une fois que j'ai selectionné mon produit je peux acceder aux differents elements de la liste modifiable grace à un List.column(<colonne> ), mais le probleme c ke je voudrais modifier les champs de mon enregistrement produit "a la volée",  c'est a dire que je veux pouvoir modifier les resultats de la requete de maniere à ce que les smodifications soient prises en compte dans la table produits
 
J'ai essayé les requetes mise à jour mais apparemment c fait pour mettre a jour TOUS les enregistrements d'une table moi je ne veux en mettre à jour qu'un!
 
 
voila j'espere avoirété clair si vous avez des idée n'hesitez pas!
 
 
 

Reply

Marsh Posté le 15-05-2003 à 10:20:22   

Reply

Marsh Posté le 15-05-2003 à 10:34:09    

euh ct pas tres clair peut etre aloors en, bref voila ce que je veux faire :  
 
je selectionne un produit dans ma liste puis j'ai un bouton : "modifier ce produit" ce qui me permet de mettre a jour l'enregistrement du produit

Reply

Marsh Posté le 15-05-2003 à 10:37:31    

spitagor a écrit :

euh ct pas tres clair peut etre aloors en, bref voila ce que je veux faire :  
 
je selectionne un produit dans ma liste puis j'ai un bouton : "modifier ce produit" ce qui me permet de mettre a jour l'enregistrement du produit


Update ta_table
Set champ = valeur
WHERE condition
 
(par exemple WHERE n_produit=145)

Reply

Marsh Posté le 15-05-2003 à 10:58:54    

ca marche pas. je me demande qi j'ai le droit de faire ca :
 
 
Update Produits Set(Enstock=nvstock) WHERE RéfProduit=li_prod_par cat

Reply

Marsh Posté le 15-05-2003 à 11:01:14    

UPDATE NomFichier1
 SET  NomChampAModifier = NouvelleValeur  
 WHERE NomFichier1.NomChampConditionFichier1 IN
   (SELECT NomChampConditionFichier2
   FROM NomFichier2
   INNER JOIN NomFichier1
   ON (NomFichier2.ChampCléPrimaire2 = NomFichier1.ChampCléPrimaire2)
   WHERE NomChampConditionFichier2 = ValeurCondition)
ça doit être un truc dans ce style!
Enfin il me semble

Reply

Marsh Posté le 19-05-2003 à 15:26:44    

maxwell01 a écrit :

UPDATE NomFichier1
 SET  NomChampAModifier = NouvelleValeur
 WHERE NomFichier1.NomChampConditionFichier1 IN
   (SELECT NomChampConditionFichier2
   FROM NomFichier2
   INNER JOIN NomFichier1
   ON (NomFichier2.ChampCléPrimaire2 = NomFichier1.ChampCléPrimaire2)
   WHERE NomChampConditionFichier2 = ValeurCondition)
ça doit être un truc dans ce style!
Enfin il me semble


 
Comment modifier cette requete pour n'updater que dans le cas où NouvelleValeure n'est pas null ?

Reply

Marsh Posté le 19-05-2003 à 17:21:24    

UPDATE NomFichier1  
SET  NomChampAModifier = NouvelleValeur  
WHERE NomFichier1.NomChampConditionFichier1 IN
(SELECT NomChampConditionFichier2  
  FROM NomFichier2  
  INNER JOIN NomFichier1  
  ON (NomFichier2.ChampCléPrimaire2 = NomFichier1.ChampCléPrimaire2)  
  WHERE NOT NomChampConditionFichier2 IS NULL)  
 
C ça normalement

Reply

Marsh Posté le 19-05-2003 à 17:22:46    

maxwell01 a écrit :

UPDATE NomFichier1  
SET  NomChampAModifier = NouvelleValeur  
WHERE NomFichier1.NomChampConditionFichier1 IN
(SELECT NomChampConditionFichier2  
  FROM NomFichier2  
  INNER JOIN NomFichier1  
  ON (NomFichier2.ChampCléPrimaire2 = NomFichier1.ChampCléPrimaire2)  
  WHERE NOT NomChampConditionFichier2 IS NULL)  
 
C ça normalement


 
UPDATE NomFichier1
 SET  NomChampAModifier = NouvelleValeur  
 WHERE NomFichier1.NomChampConditionFichier1 IN
   (SELECT NomChampConditionFichier2
   FROM NomFichier2
   INNER JOIN NomFichier1
   ON (NomFichier2.ChampCléPrimaire2 = NomFichier1.ChampCléPrimaire2)
   WHERE NomChampConditionFichier2 = ValeurCondition
   AND NomChampConditionFichier2 IS NOT NULL)
 
 
[:aloy]


Message édité par harrysauce le 19-05-2003 à 17:24:09
Reply

Marsh Posté le 19-05-2003 à 20:24:32    

Heu...
 
Harrysauce a donné la vrai requête... maxwell01, chais pas pas où tu es allé la chercher la tienne, mais elle met à jour toutes les lignes où euh... t'ain la requête de tapé... ouais ça met à jours toutes les lignes de fichier1 où... ouais, nan, laisse tomber.
 
update produits set nbenstock = $nouvelle_valeur
where n_produit = $prod_id
and nbenstock is null

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed