我很乐意获得以下问题的支持:
如果我尝试将PL / SQL脚本与COMPOUND触发器和初始化部分集成,它将在第一个“;”之后被剪切掉。在初始化部分:
CREATE OR REPLACE TRIGGER MY_COMPOUND_TRIGGER
FOR INSERT OR UPDATE OR DELETE
ON COUNTRY
COMPOUND TRIGGER
--
-- Common or Initialization Section
--
strProgPos Varchar2(200) := 'START';
STATUS_VALID constant number := 1;
--
-- After Row Section
--
AFTER EACH ROW IS
BEGIN
END AFTER EACH ROW;
--
-- After Statement Section
--
AFTER STATEMENT IS
BEGIN
END AFTER STATEMENT;
END MY_COMPOUND_TRIGGER;
/
==>这会导致以下异常: [错误] com.googlecode.flyway.core.api.FlywayException:第9行执行语句时出错:STATUS_VALID常数:= 1 [错误]由java.sql.SQLSyntaxErrorException引起:ORA-00900:UngültigeSQL-Anweisung
我用:
这种接缝不是驱动程序问题,无论如何我试过跟随驱动程序:
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3</version>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.3.0</version>
</dependency>
<dependency>
<groupId>ojdbc</groupId>
<artifactId>ojdbc</artifactId>
<version>11.2.0.1.0</version>
</dependency>
<dependency>
<groupId>ojdbc</groupId>
<artifactId>ojdbc</artifactId>
<version>14</version>
</dependency>
对任何提示或建议都会感到高兴吗?
我还在flyway上创建了一个问题:https://github.com/flyway/flyway/issues/487
答案 0 :(得分:0)
我研究了飞路代码,它似乎不计算触发器可能有的;在宣布或开始陈述之前。
我建议修复: https://github.com/cipous/flyway/commit/c7cf111f666ef417337edf3ac2410f6688abaf1f
所以希望很快就能解决。