2

そのため、ID 要素が「-」で区切られた文字列を受け取る webapp があります (例: someid1-someid2)。次に、文字列を のようなものに変換しますsomeid1 OR someid2Oracleのドキュメントによると、理論的にはこれにより、次のようなことができるはずです

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;
4

1 に答える 1

3

関数oracle text indexを使用する前に作成する必要がありますCONTAINS

CREATE INDEX idxName ON tableName(columnName) INDEXTYPE IS CTXSYS.CONTEXT;

ここでは、 Oracle Textの詳細について説明し。

于 2013-09-12T21:59:17.887 に答える