为什么oracle中的自动增量触发器创建失败?

时间:2015-06-16 22:59:27

标签: oracle11g triggers auto-increment

使用 Oracle Database 11g企业版11.2.0.1.0版 - 64位生产 我正在尝试创建自动增量的触发器。该解决方案在整个Web上进行了讨论,并且几乎被认为是Oracle的标准自动增量解决方案。例如,this Stack Overflow article似乎是确定的。

因此,在领导之后,我们有了这个:

  

如果您使用的是Oracle 11.1或更高版本,则可以简化触发器a   位

CREATE OR REPLACE TRIGGER trigger_name
  BEFORE INSERT ON table_name
  FOR EACH ROW
BEGIN
  :new.primary_key_column := name_of_sequence.nextval;
END;

我完全按照这个食谱。在我的脚本中,我创建了序列。我创建了表。

但是每次脚本创建触发器时,它似乎都会进入一个永无止境的无限循环。永远不会创建触发器,脚本中的任何SQL语句都不会被执行。

我已经盯着这一百万次了。我的副本是准确的。我能做错什么?

1 个答案:

答案 0 :(得分:3)

尝试使用尾部斜杠

CREATE OR REPLACE TRIGGER trigger_name
  BEFORE INSERT ON table_name
  FOR EACH ROW
BEGIN
  :new.primary_key_column := name_of_sequence.nextval;
END;
/