У меня есть хранимая процедура, которая возвращает два набора результатов в зависимости от успеха или неудачи.
Набор результатов успешного выполнения SP: name, id ,error, desc
Набор результатов сбоя SP: 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 имеет только ошибку и описание, которые не совпадают ни с одним из столбцов в таблице temp.... Я не могу изменить Sp, поэтому мне нужно что-то сделать (не уверен) в временную таблицу для обработки как неудач, так и успехов.