условное где предложение на основе параметра хранимой процедуры? - PullRequest
6 голосов
/ 12 ноября 2010

У меня есть хранимый процесс SQL Server 2005, который принимает параметр: @includeClosedProjects.

Есть предложение 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.

Ответы [ 2 ]

10 голосов
/ 12 ноября 2010
SELECT projectId, projectName
FROM project
WHERE CompletionStatusCID NOT IN (34, 35) 
    Or @incClosedRel = 1
1 голос
/ 12 ноября 2010
create proc yourproc
@value int
as

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