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í pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
Ukončete bezpodmínečně dotaz nebo proceduru. RETURN je okamžitá a úplná a lze ji použít v libovolném okamžiku k ukončení z bloku procedury, dávky nebo příkazu. Příkazy, které následují return, se nespouštějí.
Syntax
RETURN [ integer_expression ]
Arguments
integer_expression
Je celočíselná hodnota vrácená. Uložené procedury mohou vrátit celočíselnou hodnotu volající procedurě nebo aplikaci.
Návratové typy
Volitelně vrátí hodnotu int.
Note
Pokud není uvedeno jinak, vrátí všechny uložené procedury systému hodnotu 0. To značí úspěch a nenulovou hodnotu značí selhání.
Remarks
Při použití s uloženou procedurou return nemůže vrátit hodnotu null. Pokud se procedura pokusí vrátit hodnotu null (například pomocí RETURN @status , pokud @status je null), vygeneruje se zpráva upozornění a vrátí se hodnota 0.
Návratová hodnota stavu může být zahrnuta do následných Transact-SQL příkazů v dávce nebo postupu, který provedl aktuální proceduru, ale musí být zadán v následujícím formuláři: EXECUTE @return_status = <procedure_name>.
Examples
A. Vrácení z procedury
Následující příklad ukazuje, zda není zadáno žádné uživatelské jméno jako parametr při findjobs spuštění, RETURN způsobí ukončení postupu po odeslání zprávy na obrazovku uživatele. Pokud je zadáno uživatelské jméno, názvy všech objektů vytvořených tímto uživatelem v aktuální databázi se načtou z příslušných systémových tabulek.
CREATE PROCEDURE findjobs @nm sysname = NULL
AS
IF @nm IS NULL
BEGIN
PRINT 'You must give a user name'
RETURN
END
ELSE
BEGIN
SELECT o.name, o.id, o.uid
FROM sysobjects o INNER JOIN master..syslogins l
ON o.uid = l.sid
WHERE l.name = @nm
END;
B. Vrácení stavových kódů
Následující příklad zkontroluje stav ID zadaného kontaktu. Pokud je stát Washington (WA), vrátí se stav 1 .
2 V opačném případě se vrátí pro jakoukoli jinou podmínku (jinou hodnotu, než WA je hodnota StateProvince nebo ContactID která neodpovídá řádku).
USE AdventureWorks2022;
GO
CREATE PROCEDURE checkstate @param VARCHAR(11)
AS
IF (SELECT StateProvince FROM Person.vAdditionalContactInfo WHERE ContactID = @param) = 'WA'
RETURN 1
ELSE
RETURN 2;
GO
Následující příklady ukazují stav vrácení ze spuštění checkstate. První ukazuje kontakt ve Washingtonu; druhý kontakt, který není ve Washingtonu; a třetí kontakt, který není platný. Aby @return_status bylo možné ji použít, musí být místní proměnná deklarována.
DECLARE @return_status INT;
EXEC @return_status = checkstate '2';
SELECT 'Return Status' = @return_status;
GO
Tady je soubor výsledků.
Return Status
-------------
1
Spusťte dotaz znovu a zadejte jiné číslo kontaktu.
DECLARE @return_status INT;
EXEC @return_status = checkstate '6';
SELECT 'Return Status' = @return_status;
GO
Tady je soubor výsledků.
Return Status
-------------
2
Spusťte dotaz znovu a zadejte jiné kontaktní číslo.
DECLARE @return_status INT
EXEC @return_status = checkstate '12345678901';
SELECT 'Return Status' = @return_status;
GO
Tady je soubor výsledků.
Return Status
-------------
2
Viz také
ALTERŮV ZÁKROK (Transact-SQL)
CREATE PROCEDURE (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
EXECUTE (Transact-SQL)
SET @local_variable (Transact-SQL)
HOĎ (Transact-SQL)