要求在t2中添加t1的前100条记录,并且在t1中删除。可以用游标。

解决方案 »

  1.   


    insert into t2 select top 100 *   from t1 
    delete from t1 where exists (select * from t2)
      

  2.   

    --这样试一下
    Insert t2 (..) Select Top 100 * .. From T1 Order by Id
    --
    Delete T1
    where ID in( select Top 100 ID from t1 order by id)
      

  3.   

    不需要cursorset rowcount 100
    insert into t2 select * from t1
    delete t1
    set rowcount 0
      

  4.   

    set rowcount 100
    请问这是哪个数据库的函数?
    另外在这个条件下delete t1确定只会删除100行而不是整个表吗?
      

  5.   

    1.SQL SERVER上的函数
    2.只返回所指定的结果集条数(用完了之后要设回来)
    --
      

  6.   

    sql200里的函数呀,delete from 表名 只是对表里的数据进行操作,删表要用,drop table 表名才行
      

  7.   

    rowcount設定後,是只影響那些條數
    給你看例子:
    declare @t1 table(c0 int)
    insert into @t1
    select 1
    union
    select 2
    union
    select 3declare @t2 table(c1 int)
    insert into @t2
    select 4
    union 
    select 5
    union 
    select 6set rowcount 2
    insert into @t2 select * from @t1
    delete @t1
    set rowcount 0select * from @t1
    select * from @t2
    ---
    /*The result*/c0          
    ------
    3-------------------
    c1          
    -------
    4
    5
    6
    1
    2
      

  8.   

    playwarcraft() 说的是正确的哦,我验证了一下,嘿嘿!
      

  9.   

    这样删除也行:
    DELETE t1 FROM (SELECT TOP 100 * FROM t1) AS d
    WHERE t1.id = d.id