Какой тип возврата по умолчанию для хранимой процедуры приведен в примере? - PullRequest
0 голосов
/ 01 октября 2018

Следующая хранимая процедура принимает EmployeeId в качестве параметра.Он проверяет, существует ли Employee с указанным EmployeeId в таблице Employees базы данных Northwind.

Каким будет тип и значение возврата по умолчанию?

CREATE PROCEDURE CheckEmployeeId
  @EmployeeId INT
AS
BEGIN
  SET NOCOUNT ON;

  DECLARE @Exists INT

  IF EXISTS(SELECT EmployeeId
                    FROM Employees
                    WHERE EmployeeId = @EmployeeId)
  BEGIN
        SET @Exists = 1
  END
  ELSE
  BEGIN
        SET @Exists = 0
  END

  RETURN @Exists
END

Ответы [ 2 ]

0 голосов
/ 01 октября 2018

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

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

Процедура может возвращать целочисленное значение, называемое кодом возврата, для указания статуса выполнения процедуры.Вы указываете код возврата для процедуры, используя инструкцию RETURN.

Предположим, у вас есть

Return code value       Meaning
0                       Employee does not exists.
1                       Employee exists.

Пример: -

CREATE PROCEDURE CheckEmployeeId
  @EmployeeId INT
AS
BEGIN
  SET NOCOUNT ON;

  IF EXISTS(SELECT EmployeeId
                    FROM Employees
                    WHERE EmployeeId = @EmployeeId)
  BEGIN
        RETURN(1)  
  END
  ELSE
  BEGIN
        RETURN(0)  
  END

  RETURN(0)  
END
0 голосов
/ 01 октября 2018

RETURN всегда возвращает int из хранимой процедуры.

Значение по умолчанию может изменяться, если - попробуйте вернуть NULL (получите ноль и предупреждение) - вы получите Ошибка SQL Server , где вы получаете значение «10 минус уровень серьезности ошибки»

Но это всегда int

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...