Sql 以存储过程+Sybase返回的整数赋值

Sql 以存储过程+Sybase返回的整数赋值,sql,sybase,Sql,Sybase,我正在从另一个存储过程调用一个存储过程。那个存储过程总是返回一个整数值,所以我在一个整变量中接受那个值 EXEC @IsBusinessDay = LiteIsWorkingDay @ExecutionStart 但即使存储过程返回@IsBusinessDay的1值为0 代码块 SELECT @ExecutionStart = CONVERT(VARCHAR, GETDATE(), 107) EXEC @IsBusinessDay = LiteIsWorkingDay @Execut

我正在从另一个存储过程调用一个存储过程。那个存储过程总是返回一个整数值,所以我在一个整变量中接受那个值

EXEC @IsBusinessDay  =  LiteIsWorkingDay @ExecutionStart
但即使存储过程返回@IsBusinessDay的1值为0

代码块

SELECT @ExecutionStart = CONVERT(VARCHAR, GETDATE(), 107)

EXEC @IsBusinessDay  =  LiteIsWorkingDay @ExecutionStart

IF(@IsBusinessDay = 0)
BEGIN
    IF(CONVERT(VARCHAR,@InterMediateStartDate,108) >  CONVERT(VARCHAR,GETDATE(),108))
    BEGIN   
        INSERT INTO TbJobQueue (JobId, ScheduleId, DueDate, Status, ExpiryDate, 
                                ProcessingDate, InputUser, InputTime, 
                                LastModifiedBy, LastModifiedTime)
        VALUES (@JobId, @ScheduleId,  @InterMediateStartDate,  'NQUE', NULL,
                NULL, 'Scheduler', GETDATE(), NULL, NULL)
    END
END
请帮忙


谢谢

如果您想在变量中输入存储过程的值,必须这样做:

在LiteIsWorkingDay存储过程中声明输出参数

创建过程LiteIsWorkingDay @ExecutionStart varchar20,@IsBusinessDay int输出

在LiteIsWorkingDay存储过程中,必须为@IsBusinessDay输出参数选择一个值

在调用LiteIsWorkingDay的存储过程中,需要执行以下操作以获取其值:

声明@ExecutionStart varchar20 选择@ExecutionStart=convertvarchar,getdate,107

声明@IsBusinessDay int exec LiteIsWorkingDay,@IsBusinessDay输出


就这些。现在变量@IsBusinessDay将具有您想要的值:

您能提供更多信息吗。存储过程中有什么内容。。。如果没有更多信息,我们将无法帮助您我正在使用一个存储过程插入记录。现在,为了检查今天是否为工作日,我将今天日期的值赋给@ExecutionStart并调用过程LiteIsWorkingDay。此过程将在HolidayMaster中检查该天是否为工作日。如果为工作日,则返回0,否则返回1。所以我期望存储过程中的值为0和1。这就是给出正确的结果。即使是上面给出的语句,如果单独调用,也能给出正确的结果。但是,当IsBusinessDay的店内过程值保持为0时,返回值的增量为0。