gpt4 book ai didi

sql-server - 基于存储过程中的变量值的 AND/OR

转载 作者:行者123 更新时间:2023-12-03 11:26:01 26 4
gpt4 key购买 nike

我想在存储过程中的条件之间使用 AND/OR,决定取决于参数值是 0 (AND) 还是 1 (OR)

任何人都可以帮我解决这个问题,我想这是一件容易的事,但我似乎无法弄清楚。谢谢

最佳答案

最简单的方法(乍一看)是使用动态 SQL 连接查询字符串,但动态 SQL 有其问题。
The Curse and Blessings of Dynamic SQL以获得深入的解释。

所以我会尽量避免使用动态 SQL,如果您的查询不太复杂,这没什么大不了的。
最简单的方法是根据参数值触发两个不同的查询:

CREATE PROCEDURE spTest
@AndOr bit
AS
BEGIN

if @AndOr = 0 begin

select * from YourTable where foo = 1 and bar = 2

end
else begin

select * from YourTable where foo = 1 or bar = 2

end

END

这当然是一个非常简单的查询示例。
如果您有很多查询,或者您的查询非常复杂,这可能不是最佳解决方案,因为它会强制您复制所有查询...但一如既往,这取决于:-)

关于sql-server - 基于存储过程中的变量值的 AND/OR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8702160/

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