sql-server - 从 SQL Server Management Studio 执行具有可为空参数的存储过程

标签 sql-server stored-procedures parameter-passing

我有一个存储过程,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/

相关文章:

azure - 使用 Azure 数据工厂中的 REST API 映射嵌套 JSON,通过存储过程将每个迭代器使用到 SQL 表

c++ - 通过引用在C++中传递对象

ruby - Rails 模型回调 : Passing field as parameter to callback classes?

javascript - 将参数从 View 传递到 javascript

sql - 在 SQL Server 中创建用户并在 web.config 文件中使用该用户?

sql-server - 在 UPDATE 中使用内联 XML 变量的 SQL 总是获取 null

sql - 在 SSMS 中找不到恢复数据库选项

sql - INSERT IF NOT EXISTS 但以任何一种方式返回身份

sql-server - SQL错误: String or binary data would be truncated

sql-server-2008 - Entity Framework 4 - 存储过程异常缓慢