所以我有一个webapp,它接收一个字符串,其中ID元素被' - '分解(例如someid1-someid2
)。然后我将字符串转换为类似someid1 OR someid2
的字符串。根据{{3}}的理论,这应该允许我做类似
SELECT somecol1, somecol2 FROM sometable WHERE CONTAINS (somecol1, 'someid1 OR someid2') > 0;
但是,在SQL Dev中运行示例查询时出现以下错误:
ORA-00904:“CONTAINS”:无效的标识符
00904. 00000 - “%s:无效标识符”
*原因:
*操作:
Oracle的版本是Oracle9i Enterprise Edition Release 9.2.0.5.0 - Production
,其中包含文档,因此我不明白为什么CONTAINS
将被视为无效的标识符。添加其他可选参数
SELECT somecol1, somecol2 FROM sometable WHERE CONTAINS (somecol1, 'someid1 OR someid2', 1) > 0;
也会出现同样的错误。我在这里做错了什么?
修改
根据要求提供“工作代码”,尽管可以说它不起作用
SELECT tech, product FROM tech_det_view WHERE CONTAINS (tech, 'test OR qual') > 0;
答案 0 :(得分:3)
在使用oracle text index
功能
CONTAINS
CREATE INDEX idxName ON tableName(columnName) INDEXTYPE IS CTXSYS.CONTEXT;
Here 您可以找到有关 Oracle Text 的更多信息。