作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在处理一个存储过程,其中需要从代码发送 WHERE
子句中使用的参数之一。例如 -
CREATE PROCEDURE sp_test
@param1
AS
BEGIN
SELECT *
FROM Table
WHERE @param1
END
在上面的存储过程中,传递给 @param1
的值类似于 Col1 LIKE '%abc%' AND col1 LIKE '%xyz%'
我理解这可以使用动态 SQL 来完成,但我不想使用它。
如有任何帮助,我们将不胜感激。
编辑
我有一个 varchar(MAX)
列,我正在寻找基于用户输入的值搜索此列。使用的运算符(AND/OR)由用户在前端选择。这是内联的问题here
最佳答案
我将创建一个包含 3 列的用户定义表类型:
- 匹配类型(等于、类似等)
- 搜索值
- 和/或
我会将其传递到我的 SP,然后使用动态 SQL 构建查询。
当允许用户定义搜索条件时,您实际上并没有太多其他选择。但我肯定会以结构化格式传递搜索条件,以便您最终控制最终的 SQL(而不是应用程序插入预制 SQL)。
关于sql-server - 将 WHERE 子句作为参数传递给 SQL Server 存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53604294/
我是一名优秀的程序员,十分优秀!