有没有办法忽略SQL存储过程';输出参数?
我有一个存储过程,它执行一些处理并返回一组输出参数。我只想调用存储过程进行处理,并不真正关心输出参数。有没有办法调用存储过程而不必为所有输出参数声明变量 如果这还不清楚。。。我不希望我的存储过程调用必须如下所示:有没有办法忽略SQL存储过程';输出参数?,sql,sql-server-2000,output-parameter,Sql,Sql Server 2000,Output Parameter,我有一个存储过程,它执行一些处理并返回一组输出参数。我只想调用存储过程进行处理,并不真正关心输出参数。有没有办法调用存储过程而不必为所有输出参数声明变量 如果这还不清楚。。。我不希望我的存储过程调用必须如下所示: DECLARE @param1, @param2, @param3 float DECLARE @param4, @param5 datetime DECLARE @param6, @param7, @param8, @param9 int etc.,etc. EXEC MyStore
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
是否有任何方法可以指定“我不关心输出参数-忽略它们”如果SP中的参数具有默认值,则不必传入这些参数。@froadie-如果为参数设置默认值(
输入
或输出
),则无需声明。是的,输出参数可以具有默认值,等等,看看我的答案,试试看……明白了,谢谢。。。我想,仅仅一个存储过程调用就无法覆盖它?@froadie-如果没有默认值,就无法覆盖它。参数需要值。
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