Rechercher : dans
Par :

Sql Update multiple

Dernière réponse le 12 jun 2008 à 08:56:10 sysdile, le 11 jun 2008 à 19:45:28 
 Signaler ce message aux modérateurs

Bonjour,
Je souhaites savoir s'il est possible de faire un UPDATE en SQL qui comporterait en fait deux UPDATE.

Voici ce que je cherche :
UPDATE MATABLE
SET MonChamp='PAS_DISPO' WHERE CAST(MonChamp AS Int)>6,
SET MonChamp='DISPO' WHERE CAST(MonChamp As Int)<7

Mon problème en le faisant en deux UPDATE distincts comme ceci
UPDATE MATABLE
SET MonChamp='PAS_DISPO' WHERE CAST(MonChamp AS Int)>6
UPDATE MATABLE
SET MonChamp='DISPO' WHERE CAST(MonChamp As Int)<7

c'est que lors du second UPDATE il ne peut convertir en Int la valeur 'PAS_DISPO' insérée juste avant et mon code ne tourne pas.

Merci de l'aide,
Sysdile

Configuration: Windows Serveur 2003
MS SQL Server 2005

Meilleures réponses pour « Sql Update multiple » dans :
Windows Update [toutes versions] VoirLe moyen le plus commode pour tenir à jour son système est de passer par Démarrer>Tous les programmes>Windows Update. Une fois sur le site, seules seront proposées les mises à jour nécessaires. Cependant, un assez grand nombre d'utilisateurs...
Update Checker - Vos logiciels sont-ils à jour ? VoirVous avez du mal à tenir tous vos logiciels à jour ? En effet, sous Windows, quand on a plusieurs dizaines de logiciels installés sur le système, il est difficile de vérifier qu'ils sont tous bien à jour. Sommaire Update Checker, la...
Télécharger RyanVM's Windows XP Post-SP2 Update Pack VoirLa version Xp de Windows a subi des améliorations multiples depuis son apparition, notamment avec les différents services packs dénommés SP1, SP2 et SP3. En plus de ces évolutions majeures, chaque service pack possède aussi leur lifting. RyanVM's...
Télécharger Update Checker VoirVous avez un peu marre de recherche les mises à jour de vos logiciels un par un ? Update Checker est là pour le faire à votre place. En effet, ce logiciel permet de trouver la liste des logiciels installés sur votre PC ainsi que leurs versions...
SQL - Mise à jour d'informations VoirLe SQL permet la modification d'une table par un utilisateur (pour peu qu'il ait les droits suffisants...). La modification d'une table consiste à: ajouter des tuples modifier des tuples existants ou bien supprimer des tuples Insertion de...
SQL - Modification de table VoirModification de table Il est possible de supprimer une table grâce à la clause DROP, il existe aussi des commandes moins extrêmes permettant L'ajout de colonnes La modification de colonnes La suppression de colonnes Enfin, il est possible...
Le langage SQL VoirQu'appelle-t-on SQL? SQL (Structured Query Language, traduisez Langage de requêtes structuré) est un langage de définition de données (LDD, ou en anglais DDL Data Definition Language), un langage de manipulation de données (LMD, ou en anglais DML,...

1

Ismènee, le 12 jun 2008 à 01:16:17

Comment tu veut qu'un champ varchar(monChamp) soit converti en int ??!!

Répondre à Ismènee

2

 sysdile, le 12 jun 2008 à 08:56:10

Je vais essayer de décrire la procédure pour répondre.
Je pars en fait d'un fichier csv, qui est importé avec le niveau de stock pour chaque article.
Lors de l'insertion, le script inscrit 1 si en stock et 3 si pas de stock pour chaque siège et fait un cumul pour le niveau de stock global de tous les sièges.

Mais pour finaliser la procédure je dois inscrire des valeurs AVAILABLE ou NOT_AVAILABLE selon le résultat final.
Voila, je convertis donc le champ vachar en int afin de pouvoir tester le niveau global du stock, avant de mettre à jour le champ. Comme la valeur ciumulée peut aller de 6 à 18, si je ne convertit pas, la clause WHERE va considérer mes chiffres comme du texte et alors cela ne donne pas les résultats escomptés.

J'espère que ceci est plus clair et montre l'intérêt de ma demande de pouvoir traiter en un seul UPDATE les valeurs converties UPDATE ... SET ... WHERE ... >9 , SET ... WHERE ...<10

Merci d'avance pour la lumière que vous pourriez m'apporter.

Répondre à sysdile