RETURN (Transact-SQL)
Berlaku untuk: Database SQL ServerAzure SQL Database Azure SQL Managed Instance SQL di Microsoft Fabric
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.
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.
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 set hasilnya.
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 set hasilnya.
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 set hasilnya.
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)