insert into 表(id,a,b,c) values('01','a','b','1')
insert into 表(id,a,b,c) values('01','a','b','2')
insert into 表(id,a,b,c) values('01','a','b','3')
这几个insert语句只有最后一个数不同,能否把这3条语句合成一个insert往数据库插入原先的3条数据

解决方案 »

  1.   

    insert into 表(id,a,b,c)
    select '01','a','b','1' union
    select '01','a','b','2' union 
    select '01','a','b','3'
      

  2.   

    insert into 表(id,a,b,c)
    select '01','a','b','1' 
    union all
    select '01','a','b','2'
    union all
    select '01','a','b','3'
      

  3.   

    declare @strSql nvarchar(4000)
    declare @a intset @a = 1while @a <= 3
      BEGIN
        SET @strSql = ''
        SET @strSql = 'insert into 表(id,a,b,c) values('''01''','''a''','''b''',''' + @a + ''')'
        
        EXEC(@strSql)
        @a = @a + 1 
      END
      

  4.   

    用楼上的
    union all 可行
    union 会合并相同的数据不推荐
      

  5.   

    insert into 表(id,a,b,c)
    select '01','a','b','1' union all
    select '01','a','b','2' union all
    select '01','a','b','3'
      

  6.   

    insert into table1(id,a,b,c)
    select '01','a','b','1' union all
    select '01','a','b','2' union all
    select '01','a','b','3'