要更新一个表中符合条件的两条记录首先判断符合条件的条数大于2条
则更新两条
否则
不更新
结果为 
显示更新的每条记录
否则提示 更新不成功
最好用一条sql语句

解决方案 »

  1.   

    update top (100) tb set col=xxx     --2005
    select @@error  --=0代表成功
      

  2.   

    select 语句
    if @@rowcount>2 
    begin
    set rowcount 2
        update ........ where 
        select * from tb where ....
    end
    else
    print '更新不成功 '
      

  3.   

    IF (SELECT COUNT(*) AS RID  FROM TABLE WHERE.....GROUP BY ID HAVING COUNT(*) >2)
    BEGI*N
       UPDATE SET TABLE SET........
       WHERE ID IN (SELECT TOP 2 ID FROM TABLE WHERE ..... )
       
    END
      

  4.   

    改下:
    IF (SELECT COUNT(*) AS RID  FROM TABLE WHERE.....GROUP BY ID HAVING COUNT(*) >2)
    BEGIN
       UPDATE SET TABLE SET........
       WHERE ID IN (SELECT TOP 2 ID FROM TABLE WHERE ..... )
       SELECT ID FROM TB.....
    END
    ELSE
      print '更新不成功 '
      

  5.   

    我是用asp调用的  print '更新不成功 '?算是返回记录吗
      

  6.   

    那就把 print '更新不成功 ' 换成 select -100
      

  7.   

    SELECT * FROM tab WHERE ....
    IF @@RowCount>=2
    begin
        update....
        select ....
    end
    else
    begin
        print '更新失败'
    end
      

  8.   


    关键字 'SELECT' 附近有语法错误。
      

  9.   


    如果我判断两个条件,那不是要得到两遍总共的记录数 ,怎么变成 count