gpt4 book ai didi

sql-server - 将 WHERE 子句作为参数传递给 SQL Server 存储过程

转载 作者:行者123 更新时间:2023-12-05 07:28:09 27 4
gpt4 key购买 nike

我正在处理一个存储过程,其中需要从代码发送 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com