Erreur sur fonction IIF sous SQL server ?

mmaidev Messages postés 1 Date d'inscription samedi 30 avril 2005 Statut Membre Dernière intervention 30 avril 2005 - 30 avril 2005 à 12:52
elias_elias Messages postés 3 Date d'inscription vendredi 17 novembre 2000 Statut Membre Dernière intervention 26 mai 2005 - 29 mai 2005 à 00:10
La fonction "UPDATE Tab_NumCycle SET Cycle = IIF(cycle>4999,1,cycle + 1) qui fonctionnait avec une base Acces ne fonctionne pas avec une base SQL; pourquoi???
A voir également:

2 réponses

cs_karn Messages postés 79 Date d'inscription mardi 2 avril 2002 Statut Membre Dernière intervention 6 juillet 2009
2 mai 2005 à 16:24
IIF n'existe pas en TSQL essaye ca:

UPDATE Tab_NumCycle
SET Cycle = (SELECT valeur=CASE
WHEN Cycle >4999 THEN 1
ELSE Cycle +1
END)
0
elias_elias Messages postés 3 Date d'inscription vendredi 17 novembre 2000 Statut Membre Dernière intervention 26 mai 2005
29 mai 2005 à 00:10
en Tsql le update est un peu particulier , donc je te propose d'ecrire ta requte comme suit (en suisvant cette exemple ) car je ne connais tes données

UPDATE titles
    SET t.ytd_sales = t.ytd_sales + s.qty
    FROM titles t, sales s 
    WHERE t.title_id = s.title_id
    AND s.ord_date = (SELECT MAX(sales.ord_date) FROM sales)


/* attention dans le from il faut metre la table qu'on veut updater */

j'espere que ca peut t'aider
0
Rejoignez-nous