存储过程返回能否同时返回记录集和一个输出参数,高手赐教
我想在一个存储过程中同时返回一个记录集和一个输出参数,如下:
Create Proc p1
@total float output
As
--Set Nocount on --不知这句话的有无是否有影响
select @total=sum(总成绩) from TABLE1
select * from TABLE1
Go
但是测试时只返回了记录集,而没有返回@total的值,为什么?
使用什么方法可以实现我的目的?
谢谢!!!
问题点数:50、回复次数:6Top
1 楼pengdali()回复于 2003-10-03 20:34:37 得分 35
--调用:
declare @a float
exec p1 @a output
select @a 结果Top
2 楼txlicenhe(马可)回复于 2003-10-03 20:43:16 得分 10
declare @a float
exec p1 @a output
select @aTop
3 楼mrh123(先郁闷到2006年再说)回复于 2003-10-03 20:44:24 得分 0
在ASP中使用ADODB.COMMAND对象调用P1
dim rst
dim adocmd
set rst=server.CreateObject("adodb.recordset")
set adocmd=server.CreateObject("adodb.command")
adoCmd.Parameters.Append adocmd.CreateParameter("@total",adDouble,adParamOutput)
set rst=adocmd.execute
...
结果只返回了rst记录集,而adocmd.Parameters("@total").value没有返回值,就是与在查询分析器结果不同,为什么?
Top
4 楼letsflytogether(伍子)回复于 2003-10-03 20:47:49 得分 5
你是怎么调用的哟
应该象大力这样,先定义一个变量接收返回值就可以了Top
5 楼mrh123(先郁闷到2006年再说)回复于 2003-10-03 20:50:37 得分 0
那样只能得到一个显示的@total值吧,而我想要的"select * from TABLE1"结果集没有.
我觉得我的想法应该没问题呀,就是不行,应该有什么地方我还不清楚,请继续指教Top
6 楼lovecsdndog(为爱编程)回复于 2003-10-06 19:13:49 得分 0
定义一个table变量,和一个普通变量的output参数就可以了吧,应该?Top




