Получение неверного результата из хранимой процедуры после вызова другой хранимой процедуры - PullRequest
1 голос
/ 08 ноября 2011

У нас есть хранимая процедура, которую мы вызываем для создания пользователя.В рамках этой хранимой процедуры мы вызываем другие хранимые процедуры, чтобы создать вещи, с которых пользователь должен начать.Каждая из хранимых процедур заканчивается примерно так:

select 1 AS statusMsg, 'User Successfuly Created' as msg;

Проблема в том, что мы получаем неправильные statusMsg и msg назад.

Мы заканчиваем процедуру с:

call createDefaultSites(l_customerguid);
select 1 AS statusMsg, 'User Successfuly Created' as msg;

Но мы получаем statusMsg и msg из вызова createDefaultSites() вместо окончательного выбора.

Как мы можем гарантировать, что только последний оператор возвращает результат?

1 Ответ

1 голос
/ 16 ноября 2011

Я добавил идентификатор к каждому возвращаемому значению и перебрал их, чтобы найти тот, который искал.

select 1                          AS statusMsg, 
       'User Successfuly Created' AS       msg, 
       'UserCreation'             AS   msgType;

Честно говоря, я не осознавал, что получаю несколько наборов результатов. Если бы statusMsg был из первого набора результатов, я возможно понял бы это немного быстрее.

...