Udostępnij za pomocą


Parameters

Dotyczy do:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSystem Platform Analitycznych (PDW)Baza danych SQL w Microsoft Fabric

Parametry służą do wymiany danych między procedurami składowanymi i funkcjami a aplikacją lub narzędziem, które wywołały procedurę składowaną lub funkcję.

  • Parametry wejściowe umożliwiają obiektowi wywołującym przekazanie wartości danych do procedury składowanej lub funkcji.
  • Parametry wyjściowe umożliwiają procedurze składowanej przekazywanie wartości danych lub zmiennej kursora z powrotem do obiektu wywołującego. Funkcje zdefiniowane przez użytkownika nie mogą określać parametrów wyjściowych.
  • Każda procedura składowana zwraca kod zwracania typu całkowitego do wywołującego. Jeśli procedura składowana nie ustawi jawnie wartości dla kodu zwracanego, zwracany kod to 0.

Poniższa procedura składowana przedstawia użycie parametru wejściowego, parametru wyjściowego i kodu zwrotnego:

-- 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 FirstName, LastName, JobTitle
FROM HumanResources.vEmployee
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

Po wykonaniu procedury składowanej lub funkcji parametry wejściowe mogą mieć ich wartość ustawioną na stałą lub użyć wartości zmiennej. Parametry wyjściowe i kody zwracane muszą zwracać swoje wartości do zmiennej. Parametry i kody zwracane mogą wymieniać wartości danych za pomocą zmiennych Transact-SQL lub zmiennych aplikacji.

Jeśli procedura składowana jest wywoływana z wsadu lub skryptu, parametry i wartości kodu zwracanego mogą używać zmiennych Transact-SQL zdefiniowanych w tym samym wsadzie. Poniższy przykład to skrypt, który wykonuje utworzoną wcześniej procedurę. Parametr wejściowy jest określany jako stała, a parametr wyjściowy i zwracany kod umieszcza wartości w zmiennych Transact-SQL:

-- Declare the variables for the return code and output parameter.
DECLARE @ReturnCode INT
DECLARE @MaxTotalVariable INT

-- Execute the stored procedure and specify which variables
-- are to receive the output parameter and return code values.
EXEC @ReturnCode = SampleProcedure @EmployeeIDParm = 19,
   @MaxTotal = @MaxTotalVariable OUTPUT

-- Show the values returned.
PRINT ' '
PRINT 'Return code = ' + CAST(@ReturnCode AS CHAR(10))
PRINT 'Maximum Quantity = ' + CAST(@MaxTotalVariable AS CHAR(10))
GO

Aplikacja może używać znaczników parametrów powiązanych ze zmiennymi programowymi, aby wymieniać dane między zmiennymi aplikacji, parametrami i kodami zwrotnymi.

Zobacz też

UTWÓRZ PROCEDURĘ (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
CREATE FUNCTION (Transact-SQL)
Sekcja dotycząca ponownego użycia parametrów i planu wykonania
Zmienne (Transact-SQL)