Stored procedures 从另一个存储过程调用Sybase存储过程

Stored procedures 从另一个存储过程调用Sybase存储过程,stored-procedures,sybase,Stored Procedures,Sybase,我调用了一个Sybase存储的Proc X,它返回servlet使用的数据 在存储过程X中,存储过程get_business_day的调用方式如下: exec get_business_day@CBDate,-1,@prevBusDay输出 因此,调用此函数(在DBArtisan中)的结果是: 2010年6月25日12:00:00.000上午 1行受影响 问题是,在执行X时,我不需要输出上面这一行,因为我得到的输出(在DBArtisan中)是: 2010年6月25日12:00:00.000上午

我调用了一个Sybase存储的Proc X,它返回servlet使用的数据

在存储过程X中,存储过程get_business_day的调用方式如下:

exec get_business_day@CBDate,-1,@prevBusDay输出

因此,调用此函数(在DBArtisan中)的结果是:

2010年6月25日12:00:00.000上午
1行受影响

问题是,在执行X时,我不需要输出上面这一行,因为我得到的输出(在DBArtisan中)是:

2010年6月25日12:00:00.000上午
-2817773441.669999

这显然会影响servlet获得的结果,因为它只期望值-2817773441.669999

是否有任何方法可以抑制调用X时出现的get_business_day的输出

Thx
Agnyata

尝试在临时表中捕获结果集,如下所示:

CREATE TABLE #BadResultSet (DateOf datetime)

INSERT INTO #BadResultSet (DateOf)
EXEC get_business_day @CBDate, -1, @prevBusDay output

以下是您想要做的事情:

主要程序:

...
create table #tmp(
    CBDate datetime
)
EXEC get_business_day @CBDate, -1

select CBDate from #tmp
-- use it

drop table #tmp
-- before end
获得工作日:

create table #tmp(
    CBDate datetime
)
go
create proc get_business_day
as

-- find the value to be inserted into @day
insert into #tmp select @day

go

drop table #tmp
go

不起作用。。。Iget下面的消息:20:43:20.546 DBMS--数字(156)严重性(15)状态(2)关键字“exec”附近的服务器语法不正确。请尝试以下操作:,我没有sybase来实际试用这些,但我一直都在这么做(十多年前,所以我记不清了)Thx KM。。。我认为这不能在Sybase中按照上述线程完成。如果您在get_business_day中将数据放入临时表,那么您必须在@prevBusDay之后删除“output”关键字