逐條更新數(shù)據(jù)的SQL語(yǔ)句寫法
作者:若霖金閃閃
如果在更新數(shù)據(jù)的時(shí)候,update語(yǔ)句之后沒加Where語(yǔ)句,該怎么辦?不要著急,下面就教您使用逐條更新數(shù)據(jù)的SQL語(yǔ)句寫法,供您參考。
逐條更新數(shù)據(jù)的SQL語(yǔ)句可以方便不小心忘記更新數(shù)據(jù)少加Where語(yǔ)句的朋友,下面就為您介紹逐條更新數(shù)據(jù)的SQL語(yǔ)句寫法,供您參考。
- declare @tid int
- declare @fid int
- declare @i int
- declare @j int
- set @j=(select count(*) from tbl1.dbo.dnt_topics)
- set @i=1
- while @i<@j
- begin
- set @tid = (select tid from ( select ROW_NUMBER() over (order by tid asc ) as Row, tid,fid from dnt_topics ) as sp where Row=@i)
- set @fid=(select fid from ( select ROW_NUMBER() over (order by tid asc ) as Row, tid,,fid from dnt_topics ) as sp where Row=@i)
- update
- tbl2.dbo.dnt_topics
- set
- fid=@fid
- where
- tid=@tid
- set @i=@i+1
其中,@tid表示更新限制的條件,@fid表示要更新的數(shù)據(jù),定義@i和@j是為了方便方便循環(huán)更新,在這T_SQL語(yǔ)句中用了SQL2005自帶的函數(shù)ROW_NUMBER(),
【編輯推薦】
教您如何進(jìn)行SQL跨表更新
責(zé)任編輯:段燃
來源:
博客園