Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
Feltétel nélkül kilép egy lekérdezésből vagy eljárásból. A RETURN azonnali és kész, és bármely ponton használható az eljárás, a köteg vagy az utasításblokkból való kilépéshez. A RETURN utasítást követő utasítások nem lesznek végrehajtva.
Transact-SQL szintaxis konvenciók
Syntax
RETURN [ integer_expression ]
Arguments
integer_expression
A visszaadott egész számérték. A tárolt eljárások egész számot adhatnak vissza egy hívási eljárásnak vagy alkalmazásnak.
Visszatérési típusok
Igény szerint int értéket ad vissza.
Note
Ha nincs más dokumentálva, minden rendszer által tárolt eljárás 0 értéket ad vissza. Ez a sikerességet jelzi, a nemero érték pedig a sikertelenséget jelzi.
Remarks
Tárolt eljárás használata esetén a RETURN nem tud null értéket visszaadni. Ha egy eljárás null értéket próbál visszaadni (például NULL érték esetén a RETURN @status@status függvényt használja), a rendszer figyelmeztető üzenetet hoz létre, és 0 értéket ad vissza.
A visszatérési állapot értéke szerepelhet az aktuális eljárást végrehajtó köteg vagy eljárás későbbi Transact-SQL utasításaiban, de a következő formában kell megadni: EXECUTE @return_status = <procedure_name>.
Examples
A. Visszatérés egy eljárásból
Az alábbi példa azt mutatja be, hogy a végrehajtáskor findjobs nincs-e megadva felhasználónév paraméterként, RETURN az eljárás a felhasználó képernyőjére küldött üzenet elküldése után lép ki. Ha felhasználónév van megadva, a rendszer lekéri a felhasználó által az aktuális adatbázisban létrehozott összes objektum nevét a megfelelő rendszertáblákból.
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. Állapotkódok visszaadása
Az alábbi példa egy adott partner azonosítójának állapotát ellenőrzi. Ha az állam Washington (WA), a rendszer visszaadja az állapotot 1 .
2 Ellenkező esetben a függvény bármely más feltételhez (egy sortól WAStateProvince eltérő vagy ContactID nem egyező érték) adja vissza.
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
Az alábbi példák a végrehajtás checkstatevisszatérési állapotát mutatják be. Az elsőben egy washingtoni partner látható; a második, kapcsolatfelvétel nem Washingtonban; a harmadik pedig érvénytelen névjegy. A @return_status helyi változót a használat előtt deklarálni kell.
DECLARE @return_status INT;
EXEC @return_status = checkstate '2';
SELECT 'Return Status' = @return_status;
GO
Itt van az eredmények összessége.
Return Status
-------------
1
Futtassa újra a lekérdezést, és adjon meg egy másik partnerszámot.
DECLARE @return_status INT;
EXEC @return_status = checkstate '6';
SELECT 'Return Status' = @return_status;
GO
Itt van az eredmények összessége.
Return Status
-------------
2
Futtassa újra a lekérdezést, és adjon meg egy másik partnerszámot.
DECLARE @return_status INT
EXEC @return_status = checkstate '12345678901';
SELECT 'Return Status' = @return_status;
GO
Itt van az eredmények összessége.
Return Status
-------------
2
Lásd még:
ALTER PROCEDURE (Transact-SQL)
LÉTREHOZÁSI ELJÁRÁS (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
EXECUTE (Transact-SQL)
SET @local_variable (Transact-SQL)
DOBÁS (Transact-SQL)