【发布时间】:2014-07-03 14:42:09
【问题描述】:
有没有人在 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
)
这意味着它编译时没有任何问题,但运行它会导致值进入错误的列,并最终在超出最大长度时出错。
【问题讨论】:
标签: oracle oracle-sqldeveloper triggers