如果在更新数据的时候,update语句之后没加Where语句,该怎么办?不要着急,下面就教您使用逐条更新数据的SQL语句写法,供您参考。

逐条更新数据的SQL语句可以方便不小心忘记更新数据少加Where语句的朋友,下面就为您介绍逐条更新数据的SQL语句写法,供您参考。

逐条更新数据的SQL语句写法(更新语句sql一条数据)  SQL语句 第1张

  1. declare@tidint
  2. declare@fidint
  3. declare@iint
  4. declare@jint
  5. set@j=(selectcount(*)fromtbl1.dbo.dnt_topics)
  6. set@i=1
  7. while@i<@j
  8. begin
  9. set@tid=(selecttidfrom(selectROW_NUMBER()over(orderbytidasc)asRow,tid,fidfromdnt_topics)asspwhereRow=@i)
  10. set@fid=(selectfidfrom(selectROW_NUMBER()over(orderbytidasc)asRow,tid,,fidfromdnt_topics)asspwhereRow=@i)
  11. update
  12. tbl2.dbo.dnt_topics
  13. set
  14. fid=@fid
  15. where
  16. tid=@tid
  17. set@i=@i+1

其中,@tid表示更新限制的条件,@fid表示要更新的数据,定义@i和@j是为了方便方便循环更新,在这T_SQL语句中用了SQL2005自带的函数ROW_NUMBER(),

【编辑推荐】
教您如何进行SQL跨表更新

SQL中IS NULL的语法

SQL中if语句的用法示例

巧用SQL server临时表

速学如何定义SQL存储过程

转载请说明出处
知优网 » 逐条更新数据的SQL语句写法(更新语句sql一条数据)

发表评论

您需要后才能发表评论