从存储过程返回值

时间:2010-08-26 17:29:49

标签: sql tsql stored-procedures

我有一个这样的存储过程:

Select @totalMoney*@bonusPercent/100 

我如何从程序中返回值并将其分配给变量? 我的意思是:

SET @myVarible = EXEC MyStoredProcedure @param1, @param1;

2 个答案:

答案 0 :(得分:7)

使用output变量,返回仅适用于整数

例如

create procedure prTest @id int, @id2 decimal(20,10) output
as
select @id2 = @id + 1
go

现在称之为

declare @Test decimal(20,10)


exec prTest 5,@Test output
select @Test

输出
6.00000000

答案 1 :(得分:1)

在存储过程中只需使用

 RETURN @X

@X必须是整数数据类型。

返回代码通常用于状态代码。输出参数可能是更好的选择,具体取决于您正在做什么。

将参数声明为OUTPUT

CREATE PROCEDURE dbo.MyStoredProcedure 
@param1 INT,
@myVarible DECIMAL(10,4) OUTPUT
AS 
...

并将其命名为

EXEC dbo.MyStoredProcedure @param1, @myVarible OUTPUT;