यह उस जानकारी की प्रकृति पर निर्भर करता है जिसे आप वापस करना चाहते हैं।
यदि यह एक पूर्णांक मान है, तो आप return
. का उपयोग कर सकते हैं बयान
create proc myproc
as
begin
return 1
end
go
declare @i int
exec @i = myproc
यदि आपके पास एक गैर पूर्णांक मान या कई अदिश मान हैं, तो आप आउटपुट पैरामीटर का उपयोग कर सकते हैं
create proc myproc
@a int output,
@b varchar(50) output
as
begin
select @a = 1, @b='hello'
end
go
declare @i int, @j varchar(50)
exec myproc @i output, @j output
यदि आप कोई डेटासेट वापस करना चाहते हैं, तो आप insert exec
. का उपयोग कर सकते हैं
create proc myproc
as
begin
select name from sysobjects
end
go
declare @t table (name varchar(100))
insert @t (name)
exec myproc
आप एक कर्सर भी वापस कर सकते हैं लेकिन यह बहुत ही भयानक है इसलिए मैं एक उदाहरण नहीं दूंगा :)