2010-11-11 101 views
6

我有一个SQL Server 2005存储过程需要一个参数:@includeClosedProjects条件where子句基于存储过程参数?

有一个WHERE子句,我想根据这个参数进行控制。

create proc sel_projects 
(@incClosedRel int = 1) 
as 

SELECT projectId, projectName 
FROM project 
WHERE CompletionStatusCID NOT IN (34, 35) <-- controlled by @incClosedRel 

我想获得所有项目(排除where子句),当时@incClosedRel =1。 否则,包含where子句。

回答

9
SELECT projectId, projectName 
FROM project 
WHERE CompletionStatusCID NOT IN (34, 35) 
    Or @incClosedRel = 1 
1
create proc yourproc 
@value int 
as 

if @value = 1 
begin 
-- your select query 
end 
else 
begin 
--your other select query 
end