Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Invité de passage
    Homme Profil pro PASCAL RAMI
    Directeur des systèmes d'information
    Inscrit en
    avril 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Nom : Homme PASCAL RAMI
    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 : 3
    Points : 2
    Points
    2

    Par défaut UPDATE multiple

    Bonjour,

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

    Code :
    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
    Responsable Modération

    Avatar de ok.Idriss
    Homme Profil pro Idriss Neumann
    Consultant en SSII et ingénieur CNAM Paris (spécialité SI)
    Inscrit en
    février 2009
    Messages
    5 020
    Détails du profil
    Informations personnelles :
    Nom : Homme Idriss Neumann
    Âge : 23
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant en SSII et ingénieur CNAM Paris (spécialité SI)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : février 2009
    Messages : 5 020
    Points : 16 961
    Points
    16 961

    Par défaut

    Bonjour.

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

    Code :
    1
    2
    3
    4
    5
    UPDATE maTable
    SET colonne1 = 'value1',
    colonne2 = 'value2',
    -- ...
    WHERE -- ...
    Cordialement,
    Idriss
    mes cours sur DVP | initiation aux bases de données relationnelles | FAQ Linux | FAQ tests
    la programmation Shell | bonnes pratiques Bash | exercices shells scripts & Bash corrigés
    Merci aussi de lire les règles du club

    "Forgiveness does not change the past, but it does enlarge the future." (Paul Boese)
    Traduction approximative : le pardon ne change pas le passé mais élargit l'horizon de l'avenir.

  3. #3
    Invité de passage
    Homme Profil pro PASCAL RAMI
    Directeur des systèmes d'information
    Inscrit en
    avril 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Nom : Homme PASCAL RAMI
    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 : 3
    Points : 2
    Points
    2

    Par défaut

    Merci pour votre aide.

  4. #4
    Modérateur

    Homme Profil pro Fabien
    Ingénieur d'études en décisionnel
    Inscrit en
    septembre 2008
    Messages
    6 821
    Détails du profil
    Informations personnelles :
    Nom : Homme Fabien
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études en décisionnel
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : septembre 2008
    Messages : 6 821
    Points : 13 500
    Points
    13 500

    Par défaut

    Vous devriez aussi pouvoir l'écrire comme ceci :
    Code :
    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
    Inscrit en
    janvier 2010
    Messages
    2 915
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2010
    Messages : 2 915
    Points : 4 872
    Points
    4 872

    Par défaut

    Citation Envoyé par Waldar Voir le message
    Les @ me font penser à SQL-Server.
    Dans ce cas :
    Code :
    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •