Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí na:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytický platformový systém (PDW)
SQL databáze v Microsoft Fabric
Parametry se používají k výměně dat mezi uloženými procedurami a funkcemi a aplikací nebo nástrojem, který volal uloženou proceduru nebo funkci:
- Vstupní parametry umožňují volajícímu předat datovou hodnotu uložené proceduře nebo funkci.
- Výstupní parametry umožňují uložené proceduře předat datovou hodnotu nebo proměnnou kurzoru zpět volajícímu. Uživatelem definované funkce nemohou zadat výstupní parametry.
- Každá uložená procedura vrátí volajícímu celočíselné číslo. Pokud uložená procedura explicitně nenastaví hodnotu pro návratový kód, návratový kód je 0.
Následující uložená procedura ukazuje použití vstupního parametru, výstupního parametru a návratového kódu:
-- 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
Při spuštění uložené procedury nebo funkce mohou vstupní parametry buď mít hodnotu nastavenou na konstantu, nebo použít hodnotu proměnné. Výstupní parametry a návratové kódy musí vracet jejich hodnoty do proměnné. Parametry a návratové kódy mohou vyměňovat hodnoty dat s proměnnými Transact-SQL nebo proměnnými aplikace.
Pokud je uložená procedura volána z dávky nebo skriptu, parametry a návratové hodnoty kódu mohou používat Transact-SQL proměnné definované ve stejné dávce. Následující příklad je dávka, která spustí proceduru vytvořenou dříve. Vstupní parametr je zadán jako konstanta a výstupní parametr a návratový kód umístí jejich hodnoty do Transact-SQL proměnných:
-- 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
Aplikace může používat značky parametrů vázané na proměnné programu k výměně dat mezi proměnnými aplikace, parametry a návratovými kódy.
Viz také
CREATE PROCEDURE (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
VYTVOŘIT FUNKCI (Transact-SQL)
Oddíl Parametry a opětovné použití implementačního plánu
Proměnné (Transact-SQL)