当我尝试从包中执行EXEC存储过程时,Flyway给ORA-00900

时间:2017-11-06 10:13:51

标签: oracle flyway

我有一些oracle sql脚本,它们可以从SQLDeveloper或SQLPlus中完美运行。现在我想实现Flyway工具来控制数据库迁移。但是当我尝试执行以下字符串

EXEC USERNAME.PA_SECURITY.SP_TBL_PLC_ADD('V_NAME', USERNAME.PA_SECURITY.POLICY_NAME);

我收到错误ORA-00900:SQL语句无效。 从flyway文档中我没有看到使用SP的任何限制。但我不明白,我的SQL出了什么问题。它正在使用其他工具。

1 个答案:

答案 0 :(得分:1)

作为a_horse_with_no_name解释我需要使用以下语法

BEGIN 
   USERNAME.PA_SECURITY.SP_TBL_PLC_ADD('V_NAME', USERNAME.PA_SECURITY.POLICY_NAME);
END;

即。删除EXEC语句并添加“BEGIN ... END;”帧。