Je sais que je l'ai déjà fait il y a des années, mais je ne me souviens pas de la syntaxe, et je ne la trouve nulle part, même en cherchant des tonnes de documents d'aide et d'articles sur les "importations en masse".
Voici ce que je veux faire, mais la syntaxe n'est pas exactement la bonne... s'il vous plaît, que quelqu'un qui a déjà fait cela m'aide :)
INSERT INTO dbo.MyTable (ID, Name)
VALUES (123, 'Timmy'),
(124, 'Jonny'),
(125, 'Sally')
Je sais que c'est fermer à la bonne syntaxe. J'ai peut-être besoin du mot "BULK", ou autre chose, je ne me souviens plus. Une idée ?
J'en ai besoin pour une base de données SQL Server 2005. J'ai essayé ce code, sans succès :
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 reçois Incorrect syntax near the keyword 'VALUES'.
4 votes
Votre code ci-dessus est bien, il faut juste ajouter ',' après la déclaration de valeurs.
4 votes
INSERT INTO @blah (ID, Nom), VALUES (123, 'Timmy'), VALUES (124, 'Jonny'), VALUES (125, 'Sally')
1 votes
Attention : cette méthode permet d'insérer jusqu'à 1000 lignes. INSERT INTO #Test (LWPurchaseOrderID )VALUES ( 935791 ), ( 935933 )
17 votes
2005 n'est plus supporté. Pour 2008, 2012 et 2016, vous pouvez casi utilisez ce que vous mettez
INSERT INTO @blah (ID, Name) VALUES (123, 'Timmy'), (124, 'Jonny'), (125, 'Sally')
"VALEURS" n'apparaît qu'une seule fois et vous avez besoin de virgules entre les ensembles.