小编And*_*ndy的帖子

处理存储过程中的可选参数

我有一个存储过程,用可选参数@Param1 int = NULL 说“测试”。在该过程中,@Param1 的值用于更新某个表中某个列的值,如果调用者提供了一个值。如果未提供该参数,则不会更新该列。不幸的是,该列允许 NULL,因此调用者无法将列值设置为 NULL。所以,问题是:程序是否能够区分以下两个调用?

EXEC Test -- 预期含义:不更新列

EXEC Test @Param1 = NULL -- 预期含义:将列设置为 NULL

当然,程序可以检查是否@Param1 IS NULL。但是它可以确定是否已经提供了参数吗?

sql-server stored-procedures t-sql parameter

4
推荐指数
1
解决办法
256
查看次数

标签 统计

parameter ×1

sql-server ×1

stored-procedures ×1

t-sql ×1