IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

UPDATE multiple


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Avril 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2012
    Messages : 4
    Points : 6
    Points
    6
    Par défaut UPDATE multiple
    Bonjour,

    Est-il possible d'effectuer un update multiple comme ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    UPDATE F_DOCLIGNE 
    SET GTIN = (SELECT CO_CodeBarre FROM F_CONDITION WHERE (AR_Ref = @AR_Ref) AND (LEFT(CO_CodeBarre,1) = @Type_PCB))
    SET CB = (SELECT EC_Quantite FROM F_CONDITION WHERE (AR_Ref = @AR_Ref) AND (LEFT(CO_CodeBarre,1) = @Type_PCB))
    WHERE F_DOCLIGNE.CbMarq = @cbMarq
    Merci d'avance.

  2. #2
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 452
    Points
    19 452
    Par défaut
    Bonjour.

    Oui mais pas de la façon que vous indiquez :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    UPDATE maTable
    SET colonne1 = 'value1',
    colonne2 = 'value2',
    -- ...
    WHERE -- ...
    Cordialement,
    Idriss

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Avril 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Alimentation

    Informations forums :
    Inscription : Avril 2012
    Messages : 4
    Points : 6
    Points
    6
    Par défaut
    Merci pour votre aide.

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Vous devriez aussi pouvoir l'écrire comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    UPDATE F_DOCLIGNE 
       SET (GTIN, CB) = (SELECT CO_CodeBarre, EC_Quantite
                           FROM F_CONDITION
                          WHERE AR_Ref = @AR_Ref
                            AND LEFT(CO_CodeBarre,1) = @Type_PCB))
     WHERE F_DOCLIGNE.CbMarq = @cbMarq;
    Les @ me font penser à SQL-Server.
    N'oubliez pas de préciser le schéma (dbo par défaut) devant le nom de vos tables.

  5. #5
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Citation Envoyé par Waldar Voir le message
    Les @ me font penser à SQL-Server.
    Dans ce cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    UPDATE F_DOCLIGNE 
    	SET GTIN = CO_CodeBarre 
    	,CB = EC_Quantite
    FROM	F_DOCLIGNE
    LEFT JOIN F_CONDITION 
    	ON		AR_Ref = @AR_Ref
    	AND		LEFT(CO_CodeBarre,1) = @Type_PCB
    Si vous ne voulez pas mettre à NULL les colonnes GTIN et CB pour les lignes de F_DOCLIGNE n'ayant pas de correspondance dans F_CONDITION, il faudra remplacer la jointure externe pas une jointure interne

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Update multiples et PHP
    Par nath-0-0 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 24/04/2006, 12h48
  2. update multiple dans une meme colonne
    Par debdev dans le forum Langage SQL
    Réponses: 7
    Dernier message: 29/01/2006, 21h46
  3. Update multiple [8i]
    Par Endymion222 dans le forum Oracle
    Réponses: 3
    Dernier message: 10/01/2006, 09h46
  4. UPDATE multiples : un seul pris en compte
    Par balti dans le forum Requêtes
    Réponses: 7
    Dernier message: 29/12/2005, 12h02
  5. Réponses: 3
    Dernier message: 25/01/2005, 12h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo