用截取字符串的方法代替游标-SQL server
先将一个SQL语句结果集返回到一个字符串中,然后遍历这个字符串来代替游标:
我觉得这样效率应该比游标的效率要高,
declare @str varchar(100)
declare @beginSearchPos int
declare @nextSearchPos int
declare @length int
set @beginSearchPos = 1
set @nextSearchpos = 0
set @str = 'aaa|bbb|ccc|ddd|'
set @length = len(@str)
while @beginSearchPos <>0 and @nextSearchPos < @length
begin
set @nextSearchPos = charindex('|',@str,@beginSearchPos)
if @nextSearchPos = 0
begin
print substring(@str,@beginSearchPos,@length-@beginSearchPos+1)
set @beginSearchPos=0
end
else
begin
print substring(@str,@beginSearchPos,@nextSearchPos-@beginSearchPos)
set @beginSearchPos = @nextSearchPos + 1
end
end

浙公网安备 33010602011771号