У меня есть хранимая процедура, которая возвращает два набора результатов в зависимости от успеха или неудачи.
Набор результатов успешного выполнения SP: имя, идентификатор, ошибка, desc
Результат ошибки SP sret: error, desc
Я использую следующий запрос, чтобы получить результат хранимой процедуры. Возвращает 0 для успеха и -1 для ошибки.
declare @ret int
DECLARE @tmp TABLE (
name char(70),
id int,
error char(2),
desc varchar(30)
)
insert into @tmp
EXEC @ret = sptest '100','King'
select @ret
select * from @tmp
Если SP успешен, четыре поля вставляются во временную таблицу, так как столбец совпадает.
Но в случае сбоя результирующий набор sp имеет только error и desc, который не совпадает ни с одним из столбцов во временной таблице ...
.Я не могу изменить Sp, поэтому мне нужно кое-что сделать (не уверен) во временной таблице, чтобы справиться как с неудачей, так и с успехом.