Я пытаюсь запустить приведенный ниже анонимный блок, но получаю сообщение об ошибке ORA-00900: invalid SQL statement
. Я знаю, что невозможно выдать DDL как статический SQL в блоке PL/SQL в Oracle. Поскольку у меня есть более 50 сценариев sql, которые необходимо выполнить в анонимном блоке, невозможно выполнить EXECUTE IMMEDIATE
для каждого оператора sql. Вот почему я создал отдельный скрипт в виде файла sql и пытаюсь позвонить из моего текущего анонимного блока.
SET SERVEROUTPUT ON;
DECLARE MESSAGE VARCHAR2(100);
CHECK_VERSION VARCHAR2(100);
BEGIN
--- some code to check the version
select PROP_VAL into CHECK_VERSION from RATOR_MONITORING_CONFIGURATION.RM2_PROPERTIES WHERE PROP_NAME ='DB_VERSION';
If CHECK_VERSION != 'V3.0' then
MESSAGE := 'Wrong Version';
-- IF(VERSION WRONG) THEN
-- MEESAGE := <<provide info for user here>>
else
@UpgradeFromV2.1ToV3.0.sql;
end if;
END;