我有一个存储过程,uspUser_GetUserDetails,带有多个参数。它被称为这样的:
uspUser_GetUserDetails 'LastName','FirstName', 'UserId', 'dtDate', 'DistrictId'
如果dtDate
参数为空,如何运行存储过程。我试过了
uspUser_GetUserDetails 'LastName','FirstName','UserId','','DistrictId'
但它没有做任何事情。这样的事情会起作用吗?
uspUser_GetUserDetails 'LastName','FirstName','UserId',null,'DistrictId'
这需要永远执行查询而不返回任何结果。请注意,问题不在于如何创建具有可为空参数的 SP。我的 SP 在 C# 中工作正常,它在参数中显示 sqlvalue {null} 。我只是想从 SQL Server Management Studio 快速测试它,并知道在这种情况下如何将 null 参数传递给它。
最佳答案
CREATE PROCEDURE MyProcName
@Parameter1 INT = 1,
@Parameter2 VARCHAR (100) = 'StringValue',
@Parameter3 VARCHAR (100) = NULL
AS
BEGIN
END
使用可选参数,则无需传入过程的调用。
关于sql-server - 从 SQL Server Management Studio 执行具有可为空参数的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30448461/