我有一个类似于
的存储过程 CREATE PROCEDURE Update-all
( @RowID INT,
@Parameter1 NVARCHAR(50),
@Parameter2 INT
)
As
....
我将根据不同的条件传递@ Parameter1 / @ Parameter2。 如果我没有传递@ Parameter1 / @ Parameter2,我收到一个错误,存储过程期望@ parameter1 / @ parameter1未提供。任何想法如何解决这个问题?
答案 0 :(得分:2)
您需要为参数提供默认值。
CREATE PROCEDURE Update-all
( @RowID INT,
@Parameter1 NVARCHAR(50) = NULL,
@Parameter2 INT = NULL
)
As
....
答案 1 :(得分:2)
您需要为参数提供默认值。 e.g。
create procedure Test1 (
@rowid int,
@Param1 nvarchar(50) = null,
@Param2 int = 0 )
as
print 'rowid=' + convert(varchar(20), @rowid)
print 'param1=' + @Param1
print 'param2=' + convert(varchar(20), @Param2)
exec Test1 5
exec Test1 5, 'testing'
exec Test1 5, 'testing', 198
答案 2 :(得分:0)
为参数添加一些默认值:
CREATE PROCEDURE Update-all
( @RowID INT,
@Parameter1 NVARCHAR(50) = '',
@Parameter2 INT = 0
)