Aracılığıyla paylaş


return (Transact-SQL)

Koşulsuz bir sorgu veya yordamı karşı çıkar.Anında ve tam dönüş ve herhangi bir noktada bir yordam, toplu işveya deyim blokçıkmak için kullanılabilir.return izleyin ifadeleri yürütülmez.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

RETURN [ integer_expression ] 

Bağımsız değişkenler

  • integer_expression
    Döndürülen tamsayı değeridir.Saklı yordamlar, GetTypeId yordamını veya bir uygulamanın bir tamsayı değeri döndürebilir.

Dönüş Türleri

İsteğe bağlı olarak verir int.

Not

Aksi takdirde belgelenen sürece, tüm sistem saklı yordamları 0 değerini döndürür.Bu başarıyı gösterir ve sıfır dışında bir değere başarısız olduğunu gösterir.

Açıklamalar

saklı yordamile kullanıldığında, return null değer döndüremez.Bir yordam bir null değer döndürür çalışır, (örneğin, return kullanarak @status , @status Null), bir uyarı iletisi oluşturulur ve 0 değeri döndürülür.

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

Örnekler

A.Bir yordam döndürme

Aşağıdaki örnek, kullanıcı adı parametre olarak belirtilmiş olup olmadığını gösterir, findjobs yürütüldüğünde, RETURN sonra bir ileti, kullanıcının ekran. gönderilmiştir çıkmak yordam neden oluyorBir kullanıcı adı belirtilirse, geçerli veritabanında bu kullanıcı tarafından oluşturulan tüm nesnelerin adlarını uygun sistem tabloları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üren

Aşağıdaki örnek, belirtilen bir kişinin kimliği durumunu denetler.Washington state ise (WA), durumu 1 döndürülür.Aksi takdirde, 2 diğer bir koşul için döndürülür (dışında bir değer WA için StateProvince veya BusinessEntityID , uyuşmuyor bir satır).

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

Aşağıdaki örnekler yürütülmesini döndürülen durum checkstate.İlk kişi Washington'da gösterir; İkinci kişi değil, Washington; ve üçüncüsü, geçerli olmayan bir kişi.@return_status Kullanılmadan önce yerel değişken'in bildirilebilir gerekir.

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

Sonuç kümesi buradadır.

Return Status

-------------

1

Yeniden, farklı bir ilgili kişi numarasını belirtme sorgu yürütme.

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

Sonuç kümesi buradadır.

Return Status

-------------

2

Yeniden, başka bir ilgili kişi numarasını belirtme sorgu yürütme.

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

Sonuç kümesi buradadır.

Return Status

-------------

2