【发布时间】:2015-08-07 08:07:29
【问题描述】:
我正在尝试运行以下匿名块,但收到错误 ORA-00900: invalid SQL statement。我知道不可能在 Oracle 的 PL/SQL 块中将 DDL 作为静态 SQL 发布。由于我有超过 50 个 sql 脚本需要在匿名块中执行,因此不可能对每个 sql 语句都发出 EXECUTE IMMEDIATE。所以这就是为什么我创建了单独的脚本作为 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;
【问题讨论】:
标签: oracle plsql sql-scripts