数据表A
ygbh  mc     bz
10   张一    1
13   张四    0
14   王五    0
18   李三    0数据表B,ID为int数据类型,手工加1的
ID   ygbh   ny   
2    10     2006-04
3    10     2006-05现在查询A表中满足条件的数据批量插入B表,例如所有bz=0的bh,且ny='2006-05' 得下表
ID   ygbh   ny   
2    10     2006-03
3    10     2006-04
4    13     2006-05
5    14     2006-05
6    18     2006-05求sql语句,使插入过程中ID依次增1

解决方案 »

  1.   

    select YGBH,'2006-05' as ny into # from A where bz='0'alter table # add ID int identity(1,1)declare @I intselect @I=max(ID) from binsert into B(id,ygbh,ny)
    select id+@I,ygbh,ny from #
      

  2.   

    可以不用借助临时表
    不过下面的B表中一定要自增长字段
    利用下面的语句可以获得下一个增长的编号
    set NewId=IDENT_CURRENT('B')+IDENT_INCR('B')