我正在创建一个SQL Server存储过程。这是一个简单的SELECT
查询。其中一个参数是查找标志参数。如果该参数为空,则SELECT
默认不包含任何WHERE
子句。
CREATE PROCEDURE sprocA
@flagInd int
AS
BEGIN
SELECT intID, strQuestion, strAnswer, intCategory, intOrder
FROM tblA
-- Right here is where I am looking for the logic of the @flagInd to be evaluated.....
-- if @flagInd = 1 then 'WHERE flgInd=1'
-- else if @flagInd=0 then 'WHERE flgInd=0'
-- else if @flagInd IS NULL then ''
这只是一个简单的查询和我所思考的一个简单想法,不确定是否可以在不嵌套并重写整个SELECT
语句作为IF语句的一部分的情况下完成。
CASE
,这会使事情变得复杂。 - Juan Carlos Oropeza