我有一个存储过程执行一些处理并返回一堆输出参数。我想调用存储过程只是为了处理,并不真正关心输出参数。有没有办法调用存储过程而不必为所有输出参数声明变量?
如果不清楚...我不希望我的存储过程调用必须如下所示:
DECLARE @param1, @param2, @param3 float
DECLARE @param4, @param5 datetime
DECLARE @param6, @param7, @param8, @param9 int
etc.,etc.
EXEC MyStoredProcedure @param1 OUTPUT, @param2 OUTPUT, @param3 OUTPUT, @param4 OUTPUT.......
我希望能够说:
EXEC MyStoredProcedure
有没有办法指定“我不关心输出参数 - 忽略它们”?
答案 0 :(得分:4)
如果SP中的参数具有默认值,则不必传入它们。
答案 1 :(得分:3)
CREATE PROCEDURE test (@id INT = 0 OUTPUT)
AS
BEGIN
SELECT @id = @id + 1
SELECT @id
END
GO;
DECLARE @x INT
SET @x = 9
EXEC test @x OUTPUT
SELECT @x
EXEC test @x
SELECT @x
EXEC test