У меня есть хранимая процедура на сервере sql, понимание ее создания выглядит примерно так:
ALTER PROCEDURE [dbo].[P_BI_PROF_RUN_PROCESS]
( @AD_PROCESS_DATE DATETIME,
@AS_USER VARCHAR(100),
@AL_PROCESS_ID INT ,
@AL_PROCESS_STATUS INT OUTPUT
)
AS ....
..........
Следующий способ, когда я запускаю процесс в студии sql server, возвращает мне значение 0, 1.
DECLARE @RC int
DECLARE @AD_PROCESS_DATE datetime
DECLARE @AS_USER varchar(100)
DECLARE @AL_PROCESS_ID int
DECLARE @AL_PROCESS_STATUS int
-- TODO: Set parameter values here.
EXECUTE @RC = [dbo].[P_BI_PROF_RUN_PROCESS]
'dec 31 2017'
,'SIKANDAR'
,2
,@AL_PROCESS_STATUS OUTPUT
select @AL_PROCESS_STATUS --returned status
Когда я запускаю эту процедуру на сервере sql, она дает мне результат 0 или 1, в течение 5 секунд ожидания, потому что я установил задержку в 5 секунд, как показано ниже:
В моем батисе я называю это так, и оно не возвращает мне никакого значения, но входит в него и никогда не возвращается назад. Код в mybatis:
<select id="proceedToProcedure" parameterType="calcProcessSC" statementType="CALLABLE" >
{
CALL P_BI_PROF_RUN_PROCESS
(
#{asOfDate, mode=IN, jdbcType=DATE},
#{user, mode=IN, jdbcType=VARCHAR},
#{processId, mode=IN, jdbcType=NUMERIC},
#{output, mode=OUT, jdbcType=BIGINT}
)
}
</select>
Мне нужна ваша помощь в вызове вышеупомянутой процедуры в mybatis для возврата 0,1, так же, как и в самом sql-сервере. Я не знаю, если я что-то путаю в синтаксисе в mybatis. В ожидании вашего ответа.
Спасибо!