gpt4 book ai didi

sql - 不能在 IN 表达式 CFQUERY 中放置超过 1000 个元素

转载 作者:行者123 更新时间:2023-12-04 21:48:13 25 4
gpt4 key购买 nike

在 Oracle 中,我们可以在“in”表达式中放入的元素数量限制为 1000。我们的代码中有一个查询:

<cfquery>
SELECT * from table1 where ID IN (#somelist#)
</cfquery>

这里#somelist# 是CF 列表变量。

CF 中解决此问题的最合适的解决方案是什么?

最佳答案

使用临时表。将 ID 插入 temp 中,然后查询:

SELECT * from table1 where ID IN (SELECT id FROM temp_table)

在 SO 上看到这个问题: How to put more than 1000 values into an Oracle IN clause .

而且看起来你正在做一个简单的替换。从性能的角度来看,这是一个坏主意,从安全的角度来看(SQL 注入(inject)),这是一个非常糟糕的主意。我不知道 CF,但我很确定你可以使用绑定(bind)变量。

关于sql - 不能在 IN 表达式 CFQUERY 中放置超过 1000 个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5312447/

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