这是我的SQL Server存储过程
CREATE PROC test_sp
@id int,
@ipVal varchar(20) = null,
@browserName varchar(20) = null
as
begin
select * from users where id=@id order by id desc;
end
我想动态地改变我的where
条件。
当@ipVal is not null
时,我应该传递Where条件中的三个参数。当我的@ipVal is null
,那么我应该只通过id=@id
在哪里条件。
如何在SQL Server存储过程中做到这一点?
你可以这样修改where子句:
select * from users
where id=@id
and (@ipVal is null or (browserName=@browserName and ipval=@ipVal))