shm*_*dor 1 sql t-sql stored-procedures sql-server-2005 output-parameter
ALTER PROCEDURE dbo.StoredProcedure8
@emp_code bigint,
@co_id bigint,
@p decimal(8,2) output
AS
SELECT @p = (select sum(tran_value) from emp_ded_ben_trans where emp_code=@emp_code and co_id=@co_id and period_flg=2 and tax_flg=0)
RETURN
Run Code Online (Sandbox Code Playgroud)
要调用该sproc并检索输出参数,您可以(例如):
DECLARE @p DECIMAL(8,2)
EXECUTE dbo.StoredProcedure8 123, 456, @p OUTPUT
-- @p now contains the output value
Run Code Online (Sandbox Code Playgroud)
更新:
你不需要使用RETURN
- 你是对的,RETURN
只能返回一个INTEGER.但是返回值与OUTPUT参数不同,后者是您实际使用的参数.
即从sproc获取RETURN值,是不同的语法:
DECLARE @Result INTEGER
EXECUTE @Result = SomeSproc
Run Code Online (Sandbox Code Playgroud)