207 votes

Mise à jour de plusieurs colonnes en SQL

Y a-t-il un moyen de mettre à jour plusieurs colonnes dans SQL server de la même manière, une instruction insert est utilisé ?

Quelque chose comme :

Ou quelque chose comme ça, plutôt que comme suit :

qui peut être assez fastidieux d’écrire si vous avez 100 + colonnes.

256voto

marc_s Points 321990

Essayez ceci :

Cela devrait fonctionner dans n’importe quel dialecte SQL...

Et oui - il y a beaucoup de frappe - c’est la façon dont SQL pour cela.

104voto

gbn Points 197263

La « ennuyeux » consiste SQL standard et SGBDR comment intégrer le faire.

Avec un 100 + colonnes, vous arriverez sans doute avez un problème de conception... il y a aussi des méthodes atténuants dans outils clients (par exemple les déclarations de mise à jour génération) ou en utilisant des ORM

24voto

John Woo Points 132738

Votre requête est presque correcte. Le T-SQL pour cela est:

 UPDATE  Table1
SET     Field1 = Table2.Field1,
        Field2 = Table2.Field2,
        other columns...
FROM    Table2
WHERE   Table1.ID = Table2.ID
 

23voto

Alex K. Points 67805

La `` syntaxe est un exemple de l’utilisation des constructeurs de valeur de la ligne, Oracle prend en charge cela, MSSQL ne fonctionne pas. (Point de connexion)

10voto

    UPDATE t1 
    SET 
    t1.a = t2.a,
    t1.b = t2.b,
    .
    .
    .


    FROM 
    table1 t1 
    INNER JOIN table2 t2 ON  t1.id=t2.id
 

Tu peux essayer ça

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X