【发布时间】:2012-07-27 08:41:39
【问题描述】:
我将使用存储过程搜索我的数据库 (SQL Server 2008)。我的用户可以在文本框中输入关键字(例如,可以使用 , 分隔关键字)。
目前我正在使用这样的东西:
keyword like N"%'+@SearchQuery%'%"
(keyword 是我表中的 nvarchar 列,@SearchQuery 是我的存储过程的输入)
它工作正常,但如果用户输入多个关键字:apple、orange、banana
我应该限制关键字的数量吗?如果我有多个关键字,我应该如何编写存储过程?我应该如何将我的用户输入传递给存储过程?我应该将apple, orange, banana 作为一个完整的短语传递,然后我应该在我的存储过程中解析它们,或者我应该分开我的关键字并发送3个关键字?如何查询这 3 个关键字?一个 for 循环?
执行此类查询的最佳做法是什么?
谢谢
【问题讨论】:
标签: sql-server-2008 stored-procedures keyword