PL/SQLアプリケーションでは、カーソルを使用して問合せ結果をフェッチできます。
次の例では、CONTAINS問合せをNEWS表に対して入力し、ワードoracleを含むすべての記事を検索します。ヒットしたもののうち上位10個のタイトルとスコアが出力されます。
declare
rowno number := 0;
begin
for c1 in (SELECT SCORE(1) score, title FROM news
WHERE CONTAINS(text, 'oracle', 1) > 0
ORDER BY SCORE(1) DESC)
loop
rowno := rowno + 1;
dbms_output.put_line(c1.title||': '||c1.score);
exit when rowno = 10;
end loop;
end;
この例では、カーソルFORループを使用して、ヒットしたもののうち上位10個を取り出します。SCORE演算子の戻り値に対して、別名scoreが宣言されています。カーソル・ドット表記法を使用して、スコアとタイトルが標準出力に出力されます。