Udostępnij za pośrednictwem


Using RETURN

instrukcja RETURN kończy bezwarunkowo kwerendy, procedura przechowywana lub partia.Brak instrukcja w procedura przechowywana lub są wykonywane po instrukcja RETURN partia.

Gdy używane w procedurze przechowywanej, instrukcja RETURN można określić wartość całkowitą, aby powrócić do aplikacji wywołującej partia, lub procedury.Jeśli nie określono wartości na RETURN, procedura przechowywana zwraca wartość 0.

Większość procedur przechowywanych należy postępować zgodnie z Konwencją przy użyciu kod zwrotny wskazują powodzenie lub niepowodzenie procedura przechowywana.Napotkano zwrotu procedur przechowywanych na wartość 0, gdy żadne błędy.Każda wartość różna od zera wskazuje wystąpił błąd.Na przykład:

USE AdventureWorks;
GO
-- Create a procedure that takes one input parameter
-- and returns one output parameter and a return code.
CREATE PROCEDURE SampleProcedure @EmployeeIDParm INT,
    @MaxTotal INT OUTPUT
AS
-- Declare and initialize a variable to hold @@ERROR.
DECLARE @ErrorSave int;
SET @ErrorSave = 0;
-- Do a SELECT using the input parameter.
SELECT c.FirstName, c.LastName, e.Title
FROM HumanResources.Employee AS e
JOIN Person.Contact AS c ON e.ContactID = c.ContactID
WHERE EmployeeID = @EmployeeIDParm;
-- Save any nonzero @@ERROR value.
IF (@@ERROR <> 0)
    SET @ErrorSave = @@ERROR;
-- Set a value in the output parameter.
SELECT @MaxTotal = MAX(TotalDue)
FROM Sales.SalesOrderHeader;
IF (@@ERROR <> 0)
    SET @ErrorSave = @@ERROR;
-- Returns 0 if neither SELECT statement had
-- an error, otherwise returns the last error.
RETURN @ErrorSave;
GO

A Transact-SQL programu wsadowego lub procedura przechowywana, która wykonuje procedura przechowywana można pobrać kod zwrotny do zmienną liczbę całkowitą:

DECLARE @ReturnStatus int;
DECLARE @MaxTotalVariable int;
DECLARE @MaxTotal int;
EXECUTE @ReturnStatus = SampleProcedure @EmployeeIDParm = 65 ,@MaxTotal = @MaxTotalVariable OUTPUT;
PRINT ' ';
PRINT 'Return code = ' + CAST(@ReturnStatus AS CHAR(10));
PRINT 'Maximum Order Total = ' + CAST(@MaxTotalVariable AS CHAR(15));
GO

Aplikacje, które mogą wywoływać procedura przechowywana można powiązać zmienną liczbę całkowitą odpowiadającą kod zwrotny znacznik parametru.