表a,b,c
需要将表a中的部分信息取出来一条条的插入到b表
例如取缔一条信息插入b表后,从b表取出这条信息
生成的某int型字段和c表中这字段关联
然后把a表中其余部分信息插入到c表,并把这个int型字段也插入c表中某字段例如如下
a
id     name      sex     job     phone     ord   msn 
1       jj       female   a       123       444    111
2        bb      male     b        456      5555    222b
id     sex       msn  
1       female    111     
2       male       222c
id     name   job    phone  ord
5      jj      a      123    1(b表中的id)
6      bb      b      456    2     我想因为要插入一条取这条的id然后再操作另一个表,所以肯定要用到游标
但是游标和正常的操作我不知道怎么写才正确
谢谢前辈

解决方案 »

  1.   


    declare @id int
    declare @name varchar(10)
    declare @sex varchar(10)
    declare @job varchar(10)
    declare @phone varchar(20)
    declare @ord int
    declare @msn varchar(20)declare cur_tmp cursor for
    select name,sex,job,phone,ord,msn
    open cur_tmp
    fetch next from cur_tmp into @name,@sex,@job,@phone,@ord,@msn
    while @@fetch_status = 0
    begin
    insert into b(sex,msn)
    select @sex,@msn
    select @id = @@identity

    insert into c(name,job,phone,ord)
    select @name,@job,@phone,@id fetch next from cur_tmp into @name,@sex,@job,@phone,@ord,@msn
    end
    close cur_tmp
    deallocate cur_tmp