Bagikan melalui


RETURN (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Keluar tanpa syarat dari kueri atau prosedur. RETURN segera dan lengkap dan dapat digunakan kapan saja untuk keluar dari prosedur, batch, atau blok pernyataan. Pernyataan yang mengikuti RETURN tidak dijalankan.

Konvensi sintaks transact-SQL

Sintaks

RETURN [ integer_expression ]   

Argumen

integer_expression
Adalah nilai bilangan bulat yang dikembalikan. Prosedur tersimpan dapat mengembalikan nilai bilangan bulat ke prosedur panggilan atau aplikasi.

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Jenis Kembalian

Secara opsional mengembalikan int.

Catatan

Kecuali didokumentasikan sebaliknya, semua prosedur tersimpan sistem mengembalikan nilai 0. Ini menunjukkan keberhasilan dan nilai bukan nol menunjukkan kegagalan.

Keterangan

Saat digunakan dengan prosedur tersimpan, RETURN tidak dapat mengembalikan nilai null. Jika prosedur mencoba mengembalikan nilai null (misalnya, menggunakan RETURN @status saat @status NULL), pesan peringatan dihasilkan dan nilai 0 dikembalikan.

Nilai status pengembalian dapat disertakan dalam pernyataan Transact-SQL berikutnya dalam batch atau prosedur yang menjalankan prosedur saat ini, tetapi harus dimasukkan dalam formulir berikut: EXECUTE @return_status = <procedure_name>.

Contoh

J. Mengembalikan dari prosedur

Contoh berikut menunjukkan apakah tidak ada nama pengguna yang ditentukan sebagai parameter saat findjobs dijalankan, RETURN menyebabkan prosedur keluar setelah pesan dikirim ke layar pengguna. Jika nama pengguna ditentukan, nama semua objek yang dibuat oleh pengguna ini dalam database saat ini diambil dari tabel sistem yang sesuai.

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. Mengembalikan kode status

Contoh berikut memeriksa status untuk ID kontak tertentu. Jika negara bagian adalah Washington (WA), status 1 dikembalikan. Jika tidak, 2 dikembalikan untuk kondisi lain (nilai selain WA untuk StateProvince atau ContactID yang tidak cocok dengan baris).

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  

Contoh berikut menunjukkan status pengembalian dari menjalankan checkstate. Yang pertama menunjukkan kontak di Washington; yang kedua, kontak tidak di Washington; dan yang ketiga, kontak yang tidak valid. Variabel @return_status lokal harus dideklarasikan sebelum dapat digunakan.

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

Berikut adalah hasil yang ditetapkan.

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

Jalankan kueri lagi, menentukan nomor kontak yang berbeda.

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

Berikut adalah hasil yang ditetapkan.

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

Jalankan kueri lagi, tentukan nomor kontak lain.

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

Berikut adalah hasil yang ditetapkan.

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

Lihat Juga

ALTER PROCEDURE (Transact-SQL)
CREATE PROCEDURE (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
EXECUTE (Transact-SQL)
SET @local_variable (Transact-SQL)
THROW (Transact-SQL)