需求是这样的。
有一张数据表,根据ID(主键。)对其进行更新。
可能有时候传入的不只一个ID.可能多个。
然后对其UPDATE SET AKCount = AKCount +1 WHERE ID --(假如ID有:1,2,3,1,1,2)
这时需要对ID为1的进行三次更新,ID为2的进行2次更新,ID为3的进行1次更新。该怎么做。
有一张数据表,根据ID(主键。)对其进行更新。
可能有时候传入的不只一个ID.可能多个。
然后对其UPDATE SET AKCount = AKCount +1 WHERE ID --(假如ID有:1,2,3,1,1,2)
这时需要对ID为1的进行三次更新,ID为2的进行2次更新,ID为3的进行1次更新。该怎么做。
declare @str varchar(8000),@start int,@end int
set @str = '1,2,3,1,1,2,' --如果输入串不是以分割字符结尾,则 set @str = @str+‘,’
set @start = 1
set @end = charindex(',',@str,@start)
declare @sqlStart varchar(8000)
set @sqlStart='UPDATE TB SET AKCount = AKCount + 1 WHERE ID ='''
declare @sqlEnd varchar(2)
set @sqlEnd = ''''
declare @fullSql varchar(2000)
while(@end<>0)
begin
set @fullSql = @sqlStart+substring(@str,@start,@end-@start)+@sqlEnd
print @fullSql
exec (@fullSql)
set @start = @end+1
set @end = charindex(',',@str,@start)
end