这样做的正确方法是什么?例如,如何使用此签名更改存储过程:
CREATE PROCEDURE dbo.MyProcedure @Param BIT = NULL AS SELECT * FROM dbo.SomeTable T WHERE T.SomeColumn = @Param
为@Param赋值1或0执行过滤器,但不指定它或传递NULL不执行过滤?
假设NULL表示"不关心",则使用
CREATE PROCEDURE dbo.MyProcedure @Param BIT = NULL AS SELECT * FROM dbo.SomeTable T WHERE T.SomeColumn = @Param OR @Param IS NULL