mek*_*r10 26 sql sql-server sql-server-2008
INSERT INTO pantscolor_t (procode, color, pic)
VALUES
('74251', 'Black', '511black.jpg'),
('74251', 'OD Green', '511odgreen.jpg'),
('74251', 'Black', '511black.jpg'),
('74251', 'OD Green', '511odgreen.jpg'),
('74251', 'Black', '511black.jpg'),
('74251', 'OD Green', '511odgreen.jpg'),
..........
..........
..........
INSERT INTO pantscolor_t (procode,color,pic)
VALUES
('74251', 'Charcoal', '511charcoal.jpg'),
('74251', 'Charcoal', '511charcoal.jpg'),
('74251', 'Charcoal', '511charcoal.jpg'),
('74251', 'Charcoal', '511charcoal.jpg'),
.............
.............
.............
INSERT INTO........................
INSERT INTO........................
INSERT INTO........................
INSERT INTO........................
Run Code Online (Sandbox Code Playgroud)
我有100000行像这样,但我的插入语句大于1000行.当我在SSMS中运行SQL语句时,出现错误:
INSERT语句中的行值表达式数超过了允许的最大1000行值.
小智 23
INSERT mytable (col1, col2, col3, col4, col5, col6)\nSELECT * FROM (VALUES\n('1502577', '0', '114', 'chodba', 'Praha', 'Praha 1'),\n('1503483', '0', 'TVP', 'chodba', 'Praha', 'Praha 2'),\n/* ... more than 1000 rows ... */\n('1608107', '0', '8', 'sklad', 'Tluma\xc4\x8dov', 'Tluma\xc4\x8dov'),\n('1608107', '0', '9', 'sklad', 'Tluma\xc4\x8dov', 'Tluma\xc4\x8dov')\n) AS temp (col1, col2, col3, col4, col5, col6);\n
Run Code Online (Sandbox Code Playgroud)\n
Ale*_*son 21
另一种解决方案是使用带有联合的选择查询.
INSERT INTO pantscolor_t (procode,color,pic)
SELECT '74251', 'Black', '511black.jpg'
UNION ALL SELECT '74251', 'OD Green', '511odgreen.jpg'
UNION ALL SELECT '74251', 'Black', '511black.jpg'
UNION ALL SELECT '74251', 'OD Green', '511odgreen.jpg'
UNION ALL SELECT '74251', 'Black', '511black.jpg'
UNION ALL SELECT '74251', 'OD Green', '511odgreen.jpg'
--etc....
Run Code Online (Sandbox Code Playgroud)
UNION ALL
而不是UNION
为了在处理数千条记录时加快查询速度.UNION ALL
允许重复行,但UNION
将确保结果集中不存在重复项.对于这种情况,我们不希望删除任何可能的重复项,因此UNION ALL
使用.
Bal*_*ala 19
创建csv文件(或具有已定义的字段分隔符和行分隔符的某个文件)并使用"BULK INSERT"选项将文件加载到数据库.文件可以有100000行; 使用批量上传加载大文件不会有任何问题.
http://msdn.microsoft.com/en-us/library/ms188365.aspx
通过应用以下内容,您应该不会有任何错误:
INSERT INTO pantscolor_t (procode,color,pic) VALUES ('74251','Black','511black.jpg')
INSERT INTO pantscolor_t (procode,color,pic) VALUES ('74251', 'OD Green', '511odgreen.jpg')
INSERT INTO pantscolor_t (procode,color,pic) VALUES ('74251', 'Black', '511black.jpg')
INSERT INTO pantscolor_t (procode,color,pic) VALUES ('74251', 'OD Green', '511odgreen.jpg')
INSERT INTO pantscolor_t (procode,color,pic) VALUES ('74251', 'Black', '511black.jpg')
...........
Run Code Online (Sandbox Code Playgroud)
我试过了,它奏效了,当然您可以使用 excel 轻松连接值。