以下是我的代码中用于内联查询的伪代码:
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()
关于它。