MS Access 插入多行
Posted
技术标签:
【中文标题】MS Access 插入多行【英文标题】:MS Access insert multiple rows 【发布时间】:2017-06-26 14:20:22 【问题描述】:对于一个项目,我想使用查询将多行插入到表中。我发现了几个关于如何执行此操作的线程,例如this one,它们确实很有帮助,但我仍然无法弄清楚如何插入多行。
我目前拥有的 SQL 代码不会导致任何语法错误,但它只是不会插入任何行。
我要插入的表格如下所示:
create table SYT_ABRDAT
(
id integer primary key not null,
beginper integer,
eindper integer,
periode text,
groep bit
)
我当前使用的查询(我把它缩短了):
insert into syt_abrdat (id, begindat, einddat, periode, groep)
select *
from
(select top 1
"1" as id, "9999" as begindat, "9999" as einddat,
"---" as periode, "1" as groep
from
onerow
union all
select top 1
"2" as id, "9999" as begindat, "9999" as einddat,
"XXX" as periode, "1" as groep
from
onerow
)
解决方案:
我在表 onerow
中添加了一个空行,而不是用一些数据填充它。
这是必要的
【问题讨论】:
【参考方案1】:INSERT INTO syt_abrdat (id,begindat,einddat,periode,groep)
SELECT * FROM
(SELECT TOP 1 1 AS id, 9999 AS begindat, 9999 as einddat, '---' as periode, 'WAAR' as groep FROM onerow UNION ALL
SELECT TOP 1 2 AS id, 9999 AS begindat, 9999 as einddat, 'XXX' as periode, 'WAAR' as groep FROM onerow)
评论:
对文字字符串值使用单引号 不要为文字数字使用引号 表onerow
必须至少包含 1 条记录
【讨论】:
这通常可以在其他数据库中使用,但 ms 访问不允许多个插入语句。你可以用工会来欺骗这个。见:***.com/questions/62504/… @B.Termeer - 我错过了,谢谢。看着那个问题,您确定您引用的表 (onerow
) 有 1 行吗?如果没有,那么这将是预期的结果(没有插入记录)。
感谢您的回复。我试过了,但仍然遇到添加零行的问题。我会检查表onerow。如果我添加一行我将发布一个行的表格结构
@B.Termeer - onerow
的表结构无关紧要,只要表中有记录即可。
感谢您的回复。我添加了一个空行,而不是用至少一些东西填充它。以上是关于MS Access 插入多行的主要内容,如果未能解决你的问题,请参考以下文章