-----------创建,返回游标要注意释放。 不过,最好还是直接select就可以了,控制一下查询条件使返回的记录数量不至太多即可
Create proc TestReturnCur (@minID int, @returnCursor cursor varying output)
as
set @returnCursor=cursor for select ID,Leixing from BJ_LeiXing where ID>@minID
open @returnCursor
Go
-----------测试
Declare @mID int,
@returnCur cursor ,
@Leixing nvarchar(10)
Set @mID=0
EXEC TestReturnCur @mID,@returnCur output
--open @returnCur --只能在存储过程内打开。列数量及次序必须完全一致
Fetch NEXT FROM @returnCur into @mID, @Leixing
while @@FETCH_STATUS = 0
begin
Print 'Next is '+ ltrim(str(@mID))+'sdfsdf'+ @Leixing
Fetch NEXT FROM @returnCur into @mID, @Leixing
end;
Close @returnCur
DEALLOCATE @returnCur
Create proc TestReturnCur (@minID int, @returnCursor cursor varying output)
as
set @returnCursor=cursor for select ID,Leixing from BJ_LeiXing where ID>@minID
open @returnCursor
Go
-----------测试
Declare @mID int,
@returnCur cursor ,
@Leixing nvarchar(10)
Set @mID=0
EXEC TestReturnCur @mID,@returnCur output
--open @returnCur --只能在存储过程内打开。列数量及次序必须完全一致
Fetch NEXT FROM @returnCur into @mID, @Leixing
while @@FETCH_STATUS = 0
begin
Print 'Next is '+ ltrim(str(@mID))+'sdfsdf'+ @Leixing
Fetch NEXT FROM @returnCur into @mID, @Leixing
end;
Close @returnCur
DEALLOCATE @returnCur