При попытке создать следующее правило оракул цепи:Ошибка ORA-25448 при создании правила цепочки заданий с использованием dbms_scheduler.define_chain_rule
BEGIN
SYS.DBMS_SCHEDULER.DEFINE_CHAIN_RULE (
chain_name => 'MIGRATE_EISDB_CHAIN',
condition => ':MIGRATION_STEP_1.state=''RUNNING'' AND select decode(TIME_COMPLETED, null, 0, 1) from MIGRATION_PROGRESS where MIGRATION_STEP = "MIGRATE_AEP_TO_EP" > 0',
rule_name => 'continue_migration',
action => 'START MIGRATION_STEP_2',
comments => 'continue the migration - step 2');
END;
/
цепи, шаги и первое правило были созданы успешно , но я получаю эту ошибку при создании второго правила с условием:
Сообщить об ошибке -
ORA-25448: правило EISYSNEW1.CONTINUE_MIGRATION имеет ошибки
ORA-00936: отсутствует выражение
ORA-06512: в "SYS.DBMS_ISCHED", строка 1646
ORA-06512: на "SYS.DBMS_SCHEDULER", линия 1619
ORA-06512: в строке 2
25448 . 00000 - «% s% s.% S имеет ошибки».
* Причина: попытка загрузить указанное правило или выражение не удалась из-за
ошибкам в правиле или выражении.
* Действие: Проверьте правило или выражение и повторите операцию.
Вопрос:
Почему это происходит ?? Документация Oracle говорит, что это условие должно быть законным. Что мне не хватает в выражении для этого условия? FYI: Создается, когда я пропускаю часть после «И».
condition => ':MIGRATION_STEP_1.state=''RUNNING'' AND select decode(TIME_COMPLETED, null, 0, 1) from MIGRATION_PROGRESS where MIGRATION_STEP = "MIGRATE_AEP_TO_EP" > 0',