我想在 SQL Server 中执行存储过程并将输出分配给变量(它返回单个值)?
这取决于您想要返回的信息的性质。
如果它是单个整数值,则可以使用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
你甚至可以返回一个光标,但这太可怕了,所以我不会给出一个例子:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)