我正在尝试构建一个针对我们组具有读取访问权限的 Oracle 数据库运行的查询,该查询会下拉结果以在我们控制的本地副本中插入和修改。我已经建立了查询,但遇到了一个小问题。要返回查询结果,由于数据库的索引方式,我不能使用 BETWEEN;使用日期范围会导致它运行得太慢,并且 PK 不会按顺序递增。相反,我必须遍历一组值并将它们与 PK 匹配。
通常,对于像这样针对 SQL 服务器的事情,我会向它抛出这样的东西:
AND (
1=1
<cfloop array="#orderHeaderNumArray#" index="i">
OR TABLENAME.S_HEADER_NUMBER LIKE '#i#%'
</cfloop>
)
但是,每次我对 Oracle 查询尝试 1=1 时,总是会收到 UTF-8 错误。过去,我只是通过将已知不存在的值设置为条件来对解决方案进行了一半的评估,但我想知道 #1 这是 Oracle 限制还是 CF 限制,如果有更好的 #2沿着始终为真而不是始终为假的条件的解决方案。
编辑:服务器是 CF10,但我不知道我们使用的是什么版本的 Oracle。