MS Access 插入多行

MS Access insert multiple rows

对于一个项目,我想使用查询将多行插入 table。我发现了几个关于如何执行此操作的线程,例如 this one,它们确实很有帮助,但我仍然无法弄清楚如何插入多行。

我目前的SQL代码不会导致任何语法错误,但它不会插入任何行。

我要插入的 table 看起来像:

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
        )

解决方案:

我在 table onerow 中添加了一个空行,而不是用一些数据填充它。

这是必要的

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)

评论:

  • 对文字字符串值使用单引号
  • 不要对文字数字使用引号
  • table onerow 必须至少包含 1 条记录