我要向表插入一组数据,如4,3,2,5,6,
插入变成
表:
id name wedid
1   a    4
2   a    3
3   a    2
4   a    5
5   a    6怎么处理?除了用循环外,有没有办法一条插入语句就可以处理。

解决方案 »

  1.   


    create table T(id int identity(1,1),name varchar(10) default 'a' ,wedid int)
    Godeclare @s varchar(20)
    set @s='4,3,2,5,6'declare @sql varchar(500)
    select @sql='insert T(wedid) select '+replace(@s,',',' union all select ')
    exec(@sql)--查看結果
    select * from T
    /*
    id          name       wedid       
    ----------- ---------- ----------- 
    1           a          4
    2           a          3
    3           a          2
    4           a          5
    5           a          6
    */drop table T
      

  2.   

    能不能加上name数列的变化,有时不一定是a
      

  3.   


    create table T(id int identity(1,1),name varchar(10)  ,wedid int)
    Godeclare @s varchar(20),@a varchar(10)
    set @a='b'
    set @s='4,3,2,5,6'declare @sql varchar(500)
    select @sql='insert T(name,wedid) select '''+@a+''','+replace(@s,',',' union all select '''+@a+''',')exec(@sql)select * from T
    /*id          name       wedid       
    ----------- ---------- ----------- 
    1           b          4
    2           b          3
    3           b          2
    4           b          5
    5           b          6
    */
    drop table T