Themis_F
Messages postés2Date d'inscriptionmardi 9 mai 2006StatutMembreDernière intervention 8 juin 2010
-
7 juin 2010 à 23:21
Themis_F
Messages postés2Date d'inscriptionmardi 9 mai 2006StatutMembreDernière intervention 8 juin 2010
-
8 juin 2010 à 22:36
Bonsoir tous le monde,
Alors je vous explique...je fais un merge dans une page php. Je suis obligé d'utiliser les fonction obsolète d'OCI8...alors je compare les champs d'une table a savoir HMV_SUIV par rapport a des variables php...s'il y a concordance je fais un update, aussi non je fais un insert...
Voila a quoi ressemble ma requete
"MERGE INTO HMV_SUIV e
USING (SELECT * FROM dual) p
ON (e.UNT_NID=".$_POST["unite"].",
e.SEC_NID=".$SEC_NID.",
e.MNCITEM_NID=".$MNCITEM_NID.",
e.TRTMT_MOIS='".$_POST["mois"]."',
e.TRTMT_ANNEE=".$_POST["annee"].")
WHEN MATCHED THEN
UPDATE SET e.PRLVMT_NNOMBRE = ".$PRLVMT_NNOMBRE."
WHEN NOT MATCHED THEN
INSERT(e.UNT_NID,e.PRLVMT_NNOMBRE,e.SEC_NID,e.MNCITEM_NID,e.TRTMT_MOIS,e.TRTMT_ANNEE)
VALUES(".$_POST["unite"].",".$PRLVMT_NNOMBRE.",".$SEC_NID.",".$MNCITEM_NID.",'".$_POST["mois"]."',".$_POST["annee"].")";
mais je ne sais pas si l'on peut l'utiliser de cette maniere. Ca ne fonctionne pas...Un coup de pouce serait le bien venu.
Je vous remercie
Bonne soirée ;)
Themis_F
Messages postés2Date d'inscriptionmardi 9 mai 2006StatutMembreDernière intervention 8 juin 2010 8 juin 2010 à 22:36
Bonsoir,
La nuit dernière j'ai enfin trouvé la solution.Je la poste pour d'autre personne qui doivent tout comme moi utiliser qu'une seule table et des variable php avec plusieurs conditions.
Effectivement c'etait des and et non pas des "," a ajouter dans le ON.
Voici ma requtete fonctionnelle.
MERGE INTO HMV_SUIV e
USING (SELECT * FROM dual) p
ON (e.UNT_NID=".$_POST["unite"]."
AND e.SEC_NID=".$SEC_NID."
AND e.MNCITEM_NID=".$MNCITEM_NID."
AND e.TRTMT_MOIS='".$_POST["mois"]."'
AND e.TRTMT_ANNEE=".$_POST["annee"].")
WHEN MATCHED THEN
UPDATE SET e.PRLVMT_NNOMBRE = ".$PRLVMT_NNOMBRE."
WHEN NOT MATCHED THEN
INSERT(e.UNT_NID,e.PRLVMT_NNOMBRE,e.SEC_NID,e.MNCITEM_NID,e.TRTMT_MOIS,e.TRTMT_ANNEE)
VALUES (".$_POST["unite"].", ".$PRLVMT_NNOMBRE.",".$SEC_NID.",".$MNCITEM_NID.",'".$_POST["mois"]."',".$_POST["annee"].")";
Voila en espérant que ca aidera un jour une personne. Bonne continuation
Themis