Aracılığıyla paylaş


RETURN (Transact-SQL)

Koşulsuz olarak gelen bir sorguyu veya yordamı çıkar.RETURN hemen ve eksiksiz ve herhangi bir noktada bir yordam, toplu iş veya deyim blok çıkmak için kullanılabilir.RETURN izleyen ifadeleri yürütülür.

Topic link iconTransact-SQL sözdizimi kuralları

RETURN [ integer_expression ] 

Bağımsız değişkenler

  • integer_expression
    Döndürülen tamsayı değeridir.Saklı yordamlar, bir gettypeıd yordamını veya bir uygulama için bir tamsayı değer döndürebilir.

Dönüş Türleri

Isteğe bağlı olarak verir int.

Not

Aksi halde belgelenen sürece, tüm sistem yordamlar dönüş değeri 0 olarak depolanır.Bu başarı gösterir ve başarısızlık sıfır olmayan bir değer gösterir.

Remarks

Bir saklı yordam kullanıldığında, RETURN null değer döndüremez.Boş değer (örneğin, @ durumu NULL olduğunda RETURN @ durum kullanarak) geri dönmek bir yordam çalışırsa, bir uyarı iletisi oluşturulur ve 0 değeri döndürdü.

Döndürülen durum değeri, sonraki dahil edilebilir Transact-SQL deyimlerini toplu iş veya geçerli yordamın, yürütülen bir yordam ancak aşağıdaki biçimde girilmelidir: EXECUTE @return\_status = <procedure_name>.

Örnekler

C.Bir yordam döndürülüyor

Aşağıdaki örnek, kullanıcı adı bir parametre olarak belirtilen gösterir, findjobs , yürütüldü RETURN yordamı kullanıcının ekranda bir ileti gönderdikten sonra çıkılmasına neden olur. Bir kullanıcı adı belirtilmezse, geçerli veritabanında bu kullanıcı tarafından oluşturulan tüm nesnelerin adlarını uygun sistem tablolarından alınır.

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.Durum kodları döndürülüyor

Aşağıdaki örnek, belirtilen bir kişinin KIMLIĞINI durumunu denetler.Durumu, Washington)WA), durumu 1 döndürüldü. Aksi halde, 2 başka bir koşul herhangi (dışında bir değer döndürdü WA için StateProvince veya ContactID Satır eşleşmedi).

USE AdventureWorks;
GO
CREATE PROCEDURE checkstate @param varchar(11)
AS
IF (SELECT StateProvince FROM Person.vAdditionalContactInfo WHERE ContactID = @param) = 'WA'
    RETURN 1
ELSE
    RETURN 2;
GO

Aşağıdaki örnekler yürütmeden gelen bir dönüş durumu checkstate. Ilk ilgili kişi, Washington; Washington'daki değil; ilgili kişi ikinci ve üçüncü, geçerli olmayan bir ilgili kişi gösterir.The @return\_status local variable must be declared before it can be used.

DECLARE @return_status int;
EXEC @return_status = checkstate '2';
SELECT 'Return Status' = @return_status;
GO

Here is the result set.

Return Status 
------------- 
1             

yürütmek yine farklı bir ilgili kişi numarası belirterek sorgu.

DECLARE @return_status int;
EXEC @return_status = checkstate '6';
SELECT 'Return Status' = @return_status;
GO

Here is the result set.

Return Status 
------------- 
2

Yeniden başka bir ilgili kişi numarasını belirtme sorguyu yürütün.

DECLARE @return_status int
EXEC @return_status = checkstate '12345678901';
SELECT 'Return Status' = @return_status;
GO

Here is the result set.

Return Status 
------------- 
2