我有一个存储过程来获得发票参数化WHERE子句中的SQL Server存储过程
的细节一些场合,我通过只发送InvoiceID 但在其他一些场合取得发票的名单,我需要得到根据用户提供的搜索字段列出发票。为此,我将所有字段发送到存储过程,并使用以下参数。我只包括2列,但还有更多。
SELECT * FROM INVOICES I
WHERE
(@InvoiceNumber is null or I.InvoiceNumber = @InvoiceNumber)
and
(@PONo is null or I.PONo = @PONo)
有没有办法将WHERE子句的条件作为一个参数发送?
的解决方案是动态的SQL,但你最好的选择是缩小实际需要的搜索字段(答案“的所有领域都需要”是一个谎言。期。),并将其添加为参数。 – Paolo