在存储过程中,当未指定参数值时,我希望它显示列中所有值的结果。
我尝试了如下代码,但如果我在执行时将参数 field1 留空,它将不起作用并要求提供 field1 值。
create procedure procedurename
declare @startdate datetime, @enddate endtime, @field1 varchar(15)
select * from table1
where field1 = @xyz or @xyz is null
and date between @startdate and @enddate
execute procedurename @startdate = '01/07/2012', @enddate = '31/07/2012'
[我省略了 field1 值,因此它应该显示两个日期之间 field1 列中所有值的结果],但它要求提供参数值。