Comment puis-je insérer plusieurs lignes SANS répéter le “INSERT INTO dbo.Bla” la partie de la déclaration?

Je sais que j'ai fait ça avant, il y a des années, mais je ne me souviens plus de la syntaxe, et je ne peux pas le trouver n'importe où en raison de l'arrachage des tonnes d'aider les docs et des articles sur les "importations en bloc".

Voici ce que je veux faire, mais la syntaxe n'est pas tout à fait exact... s'il vous plaît, quelqu'un qui a fait cela avant, m'aider 🙂

INSERT INTO dbo.MyTable (ID, Name)
VALUES (123, 'Timmy'),
    (124, 'Jonny'),
    (125, 'Sally')

Je sais que c'est près à droite de la syntaxe. J'ai peut-être besoin de la parole "en VRAC" dans les il y, ou de quelque chose, je ne me souviens pas. Une idée?

J'en ai besoin pour un Serveur SQL server 2005 bases de données. J'ai essayé ce code, en vain:

DECLARE @blah TABLE
(
    ID INT NOT NULL PRIMARY KEY,
    Name VARCHAR(100) NOT NULL
)

INSERT INTO @blah (ID, Name)
    VALUES (123, 'Timmy')
    VALUES (124, 'Jonny')
    VALUES (125, 'Sally')

SELECT * FROM @blah

Je suis Incorrect syntax near the keyword 'VALUES'.

  • Votre code ci-dessus est fine juste besoin d'ajouter ',' après la déclaration de valeurs de
  • INSERT INTO @blah (ID, Nom), les VALEURS (123, 'Timmy'), les VALEURS (124, 'Jonny'), les VALEURS (125, 'Sally')
  • Juste une mise en garde: vous pouvez insérer jusqu'à 1000 lignes seulement par cette méthode. INSERT INTO #Test (LWPurchaseOrderID )VALUES ( 935791 ), ( 935933 )
  • 2005 n'est plus supporté. Pour 2008, 2012 et 2016, vous pouvez l'utiliser presque ce que vous mettez INSERT INTO @blah (ID, Name) VALUES (123, 'Timmy'), (124, 'Jonny'), (125, 'Sally') "VALEURS" n'apparaît qu'une fois et vous avez besoin des virgules entre les ensembles.