SQL 临时表或表变量替代游标
1.如果表没有自动增长的标识列(int) 使用临时表
SELECT IDENTITY(int) NewID ,.. INTO #tmp FROM YouTable
2.表有标识列 使用表变量
INSERT INTO @tmpTable SELECT ..., NewID=(SELECT COUNT(*) FROM YouTable b WHERE b.aid<=a.aid) FROM YouTable a
当有了从 1到~d 的连续NewID时,
你就可以用循环来操作每一条记录了.
这个NewID你就可以当它是指针标识.
DECLARE @i INT,@cnt INT SET @i=1 SELECT @cnt=COUNT(*) FROM YourTable WHILE @i<@cnt BEGIN SELECT .... FROM #tmp(或@tmpTable依上面情况不同) WHERE NewID=@i ... SET @i=@i+1 END DROP TABLE...
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。