我有一个这样的存储过程:
Select @totalMoney*@bonusPercent/100
我如何从程序中返回值并将其分配给变量? 我的意思是:
SET @myVarible = EXEC MyStoredProcedure @param1, @param1;
答案 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;