2010-11-11 14 views
6

Tengo un programa almacenado de SQL Server 2005 que toma un parámetro: @includeClosedProjects.condicional where cláusula basada en un parámetro de procedimiento almacenado?

Hay una cláusula WHERE que deseo controlar en función de este parámetro.

create proc sel_projects 
(@incClosedRel int = 1) 
as 

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

quiero conseguir todos los proyectos (excluya la cláusula where), cuando @incClosedRel =1. De lo contrario, incluya la cláusula where.

Respuesta

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 
Cuestiones relacionadas