我在存储过程中有一个查询,如下所示
select empid
from tblname
where place = @place
and category = @category
我想使用相同的过程来获取 place = 'calicut' 的所有结果(类别可以是任何)。通过这样做,我可以避免query
在我的dropdownlist
.
我在存储过程中有一个查询,如下所示
select empid
from tblname
where place = @place
and category = @category
我想使用相同的过程来获取 place = 'calicut' 的所有结果(类别可以是任何)。通过这样做,我可以避免query
在我的dropdownlist
.
SELECT empid
FROM tblname
WHERE place = @place
AND (category = @category OR @category = 'all');
您应该能够检查 NULL - 这假设您在选择默认的“all”值时传递 NULL。如果不是,请将 NULL 替换为您传递给 SP 的所有值或任何值:
select empid
from tblname
where place=@place and
(@category IS NULL OR category=@category)
这会检查@category 参数——如果它为NULL,那么它会选择任何类别。否则它会搜索该特定类别。
如果您只关心 where place = 'calicut',请改用它:
select empid
from tblname
where place='calicut' and
(@category IS NULL OR category=@category)
您可以做的另一件事是@category
在编写stored procedure
.
ALTER PROCEDURE yourProcName
@place VARCHAR(100),
@category VARCHAR(50) = ''
AS
BEGIN
select empid
from tblname
where place = @place
and
(@category = '' OR category = @category)
END