存储过程和游标
我现在有很多个select语句,每个select都返回一个结果集。我把这些select放在一个存错过程中。我的问题是,怎么通过游标把该存错过程返回的多个结果集遍历出来,要求每个结果集都分开,因为这些结果要返回给java程序使用。(在SQL Server中)
------解决方案--------------------每次select完一个语句用下面语句判断
select col.... from table1 where ()
if @@error<>0
begin
set @errNum=1
goto errHandle
end
select col.... from table2 where ()
if @@error<>0
begin
set @errNum=2
goto errHandle
end
select 0
return
errHandle:
select @errNum
如果select 结果大于0,说明有错误.
------解决方案--------------------如果两个结果集的列序及类型一致,那用union
如果不一样,那用一个中间表吧, java程序直接访问中间表
------解决方案--------------------用临时表实现,在执行存储过程前创建临时表,存储过程中所有select ..改为
insert into [临时表] select ..
存储过程执行后,直接查询临时表.