在SQL Developer 4.0.0.12中编译“bug”

时间:2014-05-15 08:46:30

标签: oracle oracle-sqldeveloper triggers

有没有人在SQL Developer中遇到过编译触发器的错误,它会绕着代码/ sql行移动,导致触发器编译错误?

例如,我昨晚更改了触发器并点击了编译。它返回时出现错误,说我在触发器结束时错过了End If。它已从我在触发器中进一步向下的IF语句中删除了两个END IFS。

我修改了这个并再次编译,这次成功了。但是,今天早上我发现它已经移动了我的INSERT INTO订购!

例如,我有:

insert into table(
A, B, C, D,
E, F, G, H,
I, J, K, L,
M, N, O, P)
VALUES (
A, B, C, D,
E, F, G, H,
I, J, K, L,
M, N, O, P
)

我编译后成了:

insert into table(
A, B, C, D,
E, F, G, H,
I, J, K, L,
M, N, O, P)
VALUES (
E, F, G, H,
I, J, K, L,
A, B, C, D,
M, N, O, P
)

这意味着它编译没有任何问题,但运行它会导致值进入错误的列,并最终在违反最大长度时出错。

1 个答案:

答案 0 :(得分:1)

4.0.0.12是第二个早期采用者版本 - 换句话说是测试版 - 和was released in September 2013。还有第三个EA版本,自December以来已有三个版本发布。

current version at the time of writing is 4.0.2(4.0.2.15)。除非你迫切需要坚持早期采用者/测试版,否则你应该只升级到生产版本。

我无法立即看到任何相关的on the SQL Developer forum,这是应该报告早期采用者问题的地方。这并不意味着它没有被报告,也没有被内部发现和修复。如果它已经在以后的版本中修复过,我怀疑他们现在对此非常感兴趣。

如果您升级并仍然看到此错误或任何其他错误,则the release notes说要在My Oracle Support上报告这些错误。