Как хранимая процедура может вернуть ROWCOUNT? - PullRequest
0 голосов
/ 16 сентября 2010

Я написал хранимую процедуру, в которой есть 2 запроса на вставку и 1 запрос на обновление.Из всех этих запросов либо вставка, либо запрос на обновление выполняются одновременно.Теперь моя проблема - получить ROWCOUNT в каждом случае.Предположим, если выполняются операции вставки, то я хочу, чтобы хранимая процедура возвращала @@ROWCOUNT вызывающему приложению, чтобы приложение знало, правильно ли выполнялись требуемые операции.Может кто-нибудь предложить / сказать мне, как я могу повлиять на строки из хранимой процедуры?

1 Ответ

0 голосов
/ 16 сентября 2010

Используйте параметры вывода в ваших хранимых процедурах для возврата RowCount ваших вставок / обновлений.

Для получения дополнительной информации см. Ссылку MSDN о том, как использовать параметры вывода

У вас может быть несколько выходных параметров, так что вы можете иметь 2 разных выходных параметра, каждое для вашей вставки и 3-е для оператора обновления.

Пример:

CREATE PROCEDURE GetEmployeeData
   @employeeID INT,
   @managerID INT **OUTPUT**
AS
BEGIN
....
....

Кроме того, вы всегда можете объединитьколичество строк ваших 2 вставок / обновлений с использованием разделителей и возвращает их как одно значение, например: «10; 0» - однако это старомодный подход и «я бы не рекомендовал».

Кроме того, вы можете создатьпеременная таблицы и возвращает таблицу со строками = количество вставок / обновлений и значением столбца = RowCount, на которые влияют.

...