我定义一个字符串,想要用游标把他依次读出来,代码如下,不过结果不对,请教我写的代码错那里了? 我想要的结果是:
1
1
2
2
declare @b varchar(20),@name varchar(20)
set @b = ''
set @name = '1,1,2,2'
declare mycursor cursor
for
select @name
open mycursor
fetch mycursor into @name
while @@fetch_status<>-1
if @@fetch_status <>-2
begin
set @b = substring(@name,0,charindex(',',@name))
set @name = substring(@name,charindex(',',@name)+1,len(@name))
print @b
fetch mycursor into @name
end
close mycursor
deallocate mycursor
|
WHILE @@FETCH_STATUS=0
为啥要if @@fetch_status <>-2? declare mycursor cursor for select @name中,select @name的结果只有一条,因此只执行一次 |
|
5个月前 ︷起↘嚸. : 确保提取的行的存在 |