存储过程里怎么for 循环 添加另一张表的数据啊 

解决方案 »

  1.   

    declare @i as int
    declare @j as int
    set @i = 1
    set @j = 100
    while @i <= @j
    begin
      print @i
      set @i = @i + 1
    end
      

  2.   

    如果能一次提取数据,可直接使用insert intoinsert into tb1(col1,col2...) select col1,col2,... from tb2 where ...
      

  3.   

    mssql 里没有 for 循环的
      

  4.   

    写循环使用whiledeclare @a int
    set @a =1
    while @a<11
    begin
    --your coding
    print @a
    set @a = @a+1
    end如果只是将A表添加数据导入B表
    select * into B from A 就可以了
      

  5.   

    insert into Table1(cc,dd)values(11,select aa from table2)如果这样怎么办  cc这个字段值是固定的 dd这个字段是从table2里的一个字段取数据
      

  6.   

    insert Table1(dd) select aa from table2
      

  7.   

    用游标吧:
    declare @aa varchar(50)
    declare cur cursor for select aa from table2
    open cur
    fetch next into @aa
    while(@@fetch_status=0)
    begin
    insert into table1 (cc,dd) values (11,@aa)
    fetch next into @aa
    end
    close cur
    deallocate cur
      

  8.   

    或者:
    insert into Table1(cc,dd) select 11,aa from table2
      

  9.   

    用游标吧: 
    declare @aa varchar(50) 
    declare cur cursor LOCAL STATIC for 
    select aa from table2 
    open cur
    while(0=0) 
    begin 
    fetch next into @aa 
    IF @@fetch_status <> 0
    break;
    insert into table1 (cc,dd) values (11,@aa)
    end 
    close cur 
    deallocate cur
      

  10.   


      还是直接用insert into t select * from k比较快
      

  11.   


    insert T1(dd) select aa from T2
    --就可以
      

  12.   


    insert T1(cc,dd) select 11,aa from T2
    --就可以
      

  13.   

    sql 是用 while begin and 代替for循环的