如何把游标查询出来的结果合并成一个结果集呀??求教(我是刚注册的)
alter proc tieview
--@id int
as
declare mycursor cursor for
select author,id from tie where biaoji=2
declare @aa varchar(50)
declare @bb int
open mycursor
fetch next from mycursor into @aa,@bb
while @@fetch_status=0
begin
select a.*,b.content from usermsg a,tie b where a.username=@aa and b.id=@bb
fetch next from mycursor into @aa,@bb
end
close mycursor
deallocate mycursor
这个得出好几个结果
我想把他们合并成一个结果集,我用UNION ALL,但写到游标循环里就出错.实在没法了..求教各位了
[解决办法]
作过表变量,插进去就行了
[解决办法]
也可以建全局临时表或建函数返回表集合(而非proc)
[解决办法]
对应你的select a.*,b.content from usermsg a,tie b where a.username=@aa and b.id=@bb
定义一个临时表.
游标每执行一次.插入一条记录