Следующее управление SQL текстовым индексированным столбцом КОНТЕКСТА Oracle:
variable label number;
exec :label := 1;
SELECT * FROM TEST_TABLE
WHERE CONTAINS(INDEXEDCOL, 'token', :label) > 0;
Результаты в:
Error report:
SQL Error: ORA-29909: label for the ancillary operator is not a literal number
29909. 00000 - "label for the ancillary operator is not a literal number"
*Cause: The label used for invoking the ancillary operator is not
a literal number.
*Action: Use a literal number as the label.
Я нашел одно упоминание о подобной проблеме здесь:
https://forums.oracle.com/forums/thread.jspa? threadID=91417
но изменение курсора со следующей командой не помогает в моем случае:
ALTER SESSION SET cursor_sharing='EXACT';
Есть также этот stackoverflow вопрос:
РТЫ 29908: недостающая основная просьба для вспомогательного оператора
но ответ не применим.
Я использую Oracle 11.2.0.3.0