【发布时间】:2016-02-10 22:35:22
【问题描述】:
我已经构建了一些带有序列和触发器的表,因为我需要与我在 uni 的团队共享脚本,所以我使用 sqldeveloper 进行了导出,现在当我尝试导入/执行生成的 .sql 时出现错误带触发器。 这是错误信息:
"Error starting at line 250 in command:
CREATE OR REPLACE EDITIONABLE TRIGGER "TRG_ACCOUNTS"
BEFORE INSERT ON ACCOUNTS
FOR EACH ROW
BEGIN
SELECT SEQ_ACCOUNTS.NEXTVAL INTO :NEW.ACCOUNT_ID FROM DUAL
Error report:
SQL Command: editionable TRIGGER
Failed: Warning: execution completed with warning
Error starting at line 258 in command:
END
Error report:
Unknown Command
trigger "TRG_ACCOUNTS" altered."
This 是它抱怨的脚本的一部分。我还有其他一些触发器,它们都给了我同样的错误。我检查了执行脚本后触发器是如何创建的,它们似乎都缺少一个分号和“END;”最后。
例子:
create or replace
TRIGGER "TRG_FL_AR"
BEFORE INSERT ON FLOOR_AREAS
FOR EACH ROW
BEGIN
SELECT SEQ_FL_AR.NEXTVAL INTO :NEW.FLOOR_AREA_ID FROM DUAL <-- missing ";" here
<missing "END;" here>
你能帮帮我吗?
谢谢。
【问题讨论】:
-
你首先不需要
select。:NEW.FLOOR_AREA_ID := SEQ_FL_AR.NEXTVAL;就够了 -
@a_horse_with_no_name 谢谢,我回家后试试这个。我不知道你可以那样做。我试试看。
标签: oracle triggers oracle-sqldeveloper sql-scripts