Используемые таблицы:
ПРАВИЛА ДВИГАТЕЛЯ Таблица:
ТОЧКА Таблица
Я пытаюсь выполнить правила в таблице RULE ENGINE, где некоторые данные (d1.sm.n1, d2.sm.n2..etc) ссылаются из таблицы POINT.
Значение 'XSGSY' зависит от правила в столбце RULE.
Примечание. Эти правила следуют синтаксису plsql.
Я пыталсяизвлечь значения данных (d1.sm.n1) и добавить к правилу:
EXECUTE IMMEDIATE 'BEGIN If ''Yes'' = ''Yes'' OR
''Yes'' = ''Yes'' then return ''Y''; else return ''N''; end if; END;'
, затем выполнить правила, используя EXECUTE IMMEDIATE
, но это не сработало.
ОШИБКА:В процедуре оператор RETURN не может содержать выражение
Также пробовал с функцией и получил ошибку:
EXECUTE IMMEDIATE 'create or replace function express return
VARCHAR2(10)
BEGIN If ''Yes'' = ''Yes'' OR ''Yes'' = ''Yes''
then return ''Y''; else return ''N''; end if;
END express;' INTO l_output;
ОШИБКА: ORA-06546: оператор DDL выполняется внезаконный контекст