【发布时间】:2011-01-19 20:44:52
【问题描述】:
我知道以前有人问过这个问题并进行过辩论。我读过的答案大多是意见,所以我正在寻找更具技术性的东西。更多“幕后”。
我正在使用 SQL Server 2008。我即将编写一个需要接受至少 11 个输入的查询。用户可以指定其中的 1 到 11(+) 个。它们有多种类型(ID、文本匹配、地理、全文匹配、记录集等)。它与 SQL 一样动态。
我知道如何在不使用动态 SQL 的情况下做到这一点:
/*for simple match*/ WHERE @Input IS NOT NULL OR t.col = @Input
由于连接等原因,这有缺点。我从不使用动态 SQL。但从我读过的内容来看,这似乎是动态 SQL 的情况。
谁能给点技术指导?
【问题讨论】:
-
请参阅 Dynamic Search Conditions in T-SQL 以了解有关该主题的详尽研究。
标签: sql sql-server windows-server-2008 dynamic-sql