【发布时间】:2010-04-07 05:00:40
【问题描述】:
这是我代码中内联查询的伪代码:
select columnOne
from myTable
where columnOne = '#variableOne#'
if len(variableTwo) gt 0
and columnTwo = '#variableTwo#'
end
我想将其移入存储过程,但无法正确构建查询。我认为它会像
select columnOne
from myTable
where columnOne = @variableOne
CASE
WHEN len(@variableTwo) <> 0 THEN and columnTwo = @variableTwo
END
这给了我一个语法错误。
谁能告诉我我做错了什么。
另外,我想只保留一个查询,而不是只有一个 if 语句。另外,我不想在存储过程中构建sql并在其上运行Exec()。
【问题讨论】:
标签: sql-server-2005 tsql stored-procedures conditional case