我想在Access 2010表中插入多个值,但我似乎无法找到方法.
MySQL有一个很好的方法:
INSERT INTO Production.UnitMeasure
VALUES
(N'FT2', N'Square Feet ', '20080923'),
(N'Y', N'Yards', '20080923'),
(N'Y3', N'Cubic Yards', '20080923');
Run Code Online (Sandbox Code Playgroud)
这样的事情也可以在SQL Server中完成吗?
Dam*_*ver 10
正如marc_s指出的那样,对于SQL Server 2008及更高版本,您可以只使用表值构造函数.对于以前的版本,您可以使用insert
和select...union all
,例如:
INSERT INTO Production.UnitMeasure
SELECT N'FT2',N'Square Feet ','20080923' union all
SELECT N'Y', N'Yards', '20080923' union all
SELECT N'Y3', N'Cubic Yards', '20080923'
Run Code Online (Sandbox Code Playgroud)
(关于SQL Server 中表值构造函数的特定文档.我找不到关于行值构造函数的具体单独文档,但这就是它们的含义)
对于SQL-Server:是的,它可以完全像你写的那样.请确保列值的顺序与表中显示的顺序相同.另外:您必须为每个现有列提供值.
对于Access 2010:否.至少不是通过sql中的硬编码值,而是仅通过从表中选择多个记录(在相同或另一个数据库中).另见Khepri答案中的链接.
小智 6
使用此确认工作查询:
INSERT INTO Product (Code,Name,IsActive,CreatedById,CreatedDate )
SELECT * FROM
(
SELECT '10001000' AS Code,
'Blackburn sunglasses' AS Name,
1 AS IsActive,
1 AS CreatedById,
'2/20/2015 12:23:00 AM' AS CreatedDate
FROM Product
UNION
SELECT '10005200' AS Code,
'30 panel football' AS Name,
1 AS IsActive,
1 AS CreatedById,
'2/20/2015 12:23:09 AM' AS CreatedDate
FROM Product
) ;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
66889 次 |
最近记录: |