何年も前にこれをやったことがあるのですが、構文を思い出せず、「一括インポート」に関する大量のヘルプ ドキュメントや記事を調べてもどこにも見つかりません。
私がやりたいことはこれですが、構文が正確ではありません... 以前にこれをやったことがある人がいたら、助けてください :)
INSERT INTO dbo.MyTable (ID, Name)
VALUES (123, 'Timmy'),
(124, 'Jonny'),
(125, 'Sally')
これは正しい構文に近いことはわかっています。「BULK」という単語か何かが必要だったかもしれませんが、思い出せません。何かアイデアはありますか?
SQL Server 2005 データベースにはこれが必要です。次のコードを試しましたが、効果はありませんでした。
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
私はIncorrect syntax near the keyword 'VALUES'.
ベストアンサー1
構文は SQL Server 2008 ではほぼ機能します (ただし、SQL Server 2005 1では機能しません)。
CREATE TABLE MyTable (id int, name char(10));
INSERT INTO MyTable (id, name) VALUES (1, 'Bob'), (2, 'Peter'), (3, 'Joe');
SELECT * FROM MyTable;
id | name
---+---------
1 | Bob
2 | Peter
3 | Joe
1質問への回答では、質問が SQL Server 2005 に関するものであることが明確に示されていませんでした。この回答はまだ関連性があると思うので、ここに残しておきます。