小弟新手,刚刚导入数据库时,发现有部分触发器丢失,日志文件如下。到处都没找到解决方案,希望各位兄弟们帮一下忙,多谢多谢啦!IMP-00003: 遇到 ORACLE 错误 4071
ORA-04071: 缺失 BEFORE, AFTER 或 INSTEAD OF 关键字
IMP-00017: 由于 ORACLE 错误 4071, 以下语句失败:
"CREATE TRIGGER "DID-2000"."DID-2000"."REPORTMODEL_TG" BEFORE"
"INSERT ON "DID-2000"."REPORTMODEL" FOR EACH ROW"
"DECLARE"
"  next_seq NUMBER;"
"Begin"
"SELECT "DID-2000".REPORTMODEL_SEQ.NEXTVAL"
"INTO next_seq"
"FROM dual;"
":new.SEQNO:=next_seq;"
"End;"我看了一下,在原数据库里,这个Trigger是这样写的:
CREATE OR REPLACE TRIGGER "REPORTMODEL_TG" BEFORE
INSERT ON "DID-2000"."REPORTMODEL" FOR EACH ROW
DECLARE
  next_seq NUMBER;
Begin
SELECT "DID-2000".REPORTMODEL_SEQ.NEXTVAL
INTO next_seq
FROM dual;
:new.SEQNO:=next_seq;
End;然后倒入到新数据库的DID-2000用户下,第一行就变成了
"CREATE TRIGGER "DID-2000"."DID-2000"."REPORTMODEL_TG" BEFORE"
这里"DID-2000"."DID-2000"肯定是有问题的,直接编译不能通过。但就是不知道为什么会出现两个DID-2000。
同一个数据库倒过来时,有些触发器成功了,有些失败了。