説明
SEARCH_INDEX は、index-nameFind() メソッドを呼び出し、一連の値を返します。オプションでパラメータをこの Find() メソッドに渡すことができます。例えば、SEARCH_INDEX(Sample.Person.NameIDX) は Sample.Person.NameIDXFind() メソッドを呼び出します。
SEARCH_INDEX は、WHERE 節内で %FIND 述語と共に使用して、オブジェクトの oref を指定することができます。これは一連の値をカプセル化する抽象表現を提供します。これらの値は一般に、クエリ実行時に呼び出されるメソッドによって返される行 ID です。SEARCH_INDEX は、インデックスの Find() メソッドを呼び出してこの oref を返します。この使用法は、以下の例を参照してください。
SELECT Name FROM Sample.Person AS P
WHERE P.Name %FIND SEARCH_INDEX(Sample.Person.NameIDX)
インデックスは、SQL 文が参照するテーブル内になければなりません。SQLCODE -151 エラーは、指定された index-name が SQL 文により使用されるテーブル内に存在していない場合にのみ生成されます。SQLCODE -152 エラーは、指定された index-name が完全修飾でなく、SQL 文により使用されるテーブル内であいまいである (既存の複数のインデックスを参照している可能性がある) 場合に生成されます。
インデックスが存在するものの、対応する Find() メソッドがない場合、ランタイム SQLCODE -149 エラー “SQL 関数でエラーが発生しました” が生成され、エラーの内容は <METHOD DOES NOT EXIST> となります。
SEARCH_INDEX の使用法の詳細は、"SQL Search" テキスト検索ツールを参照してください。