Oracle текстовый поиск по нескольким таблицам и объединениям

У меня есть следующий оператор SQL.

select emp_no,dob,dept_no from v_depts
where catsearch (emp_no,'abc',NULL) > 0
or
catsearch (dept_no,'abc',NULL) > 0

гдеv_depts это вид.

Теперь я хотел бы добавить одну или несколько таблиц в качестве объединения, чтобы я мог выполнять текстовый поиск по столбцам, например,employee_details содержит информацию о сотруднике, и я могу присоединиться сemp_no

Я создал индекс наemployee_details стол дляemp_name столбец, однако я не могу соединиться с v_depts для поиска, потому что я изменяю свой оператор SQL как

select a.emp_no,a.dob,a.dept_no from v_depts a left outer join employee_details b
on (a.emp_no = b.emp_no)
where catsearch (a.emp_no,'abc',NULL) > 0
or
catsearch (a.dept_no,'abc',NULL) > 0
or
catsearch (b.emp_name,'abc',NULL) > 0

это дает мне ошибку

ORA-20000: Oracle Text error:
DRG-10849: catsearch does not support functional invocation
DRG-10599: column is not indexed

хотя я создал индекс для столбца emp_name вemployee_details Таблица. Как я могу решить эту проблему?

Указатель индекса для emp_name

CREATE INDEX IDX_EMP_DETAILS ON EMPLOYEE_DETAILS(EMP_NAME)INDEXTYPE IS CTXSYS.CTXCAT

Ответы на вопрос(1)

Ваш ответ на вопрос