select frestkey+CAST(FCodeID AS VARCHAR(12))+FType as fkey,ROW_NUMBER() OVER(ORDER BY fkey) AS rowNumber into #depTemp--建立临时表
from CodeSet
declare @max int--获得最大的rowNumber
select @max=max(rownumber)
from #depTemp
declare @rowNo int
DECLARE @fkey VARCHAR(100)
set @rowNo=1
while @rowNo<=@max--对每一个rowNumber进行循环操作
begin
--这儿对每一行要进行的操作的代码
SELECT @fkey=fkey FROM #depTemp WHERE rowNumber=@rowNo;
UPDATE dbo.CodeSet SET fkey=NEWID()
WHERE frestkey+CAST(FCodeID AS VARCHAR(12))+FType=@fkey
set @rowNo=@rowNo+1
end
drop table #depTemp--清除临时表
SQL实现循环每一行做一定操作。
最新推荐文章于 2025-02-27 12:38:23 发布