【问题标题】:Oracle triggers error on sqldeveloper export scriptOracle 在 sqldeveloper 导出脚本上触发错误
【发布时间】: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


【解决方案1】:

尝试在第 258 行后加上反斜杠 / 并再次检查

【讨论】:

  • 实际上我删除了所有“/”,因为我在某处读到这是 sqlplus 语法或类似的东西(记不太清了),我试图在 sqldeveloper 中执行脚本,我得到了各种各样的错误,包括我发布的那个:(
猜你喜欢
  • 2015-08-14
  • 2011-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-18
相关资源
最近更新 更多