应该在insert上触发nextval的位置:在模式还是在表单中?

时间:2014-06-19 02:22:31

标签: triggers insert oracle11g oracleforms

我想通过Oracle Form将记录插入表(inkpen),我想使用此触发器创建下一个inkpen_id。

create trigger inkpen_trigger_1
       before insert on inkpen
  for each row
      begin 
      select inpken_id.nextval into :new.pen_id from dual;
  end;

问题:

此触发器应驻留在何处:在架构中还是在窗体中?

如果它是模式的一部分,我的表单可以调用它吗?

我认为它应该是模式的一部分,因为可能需要在表单外插入一条记录,而nextval逻辑已经存在。

我的DBA说我需要将这个触发逻辑嵌入到表单中。

我问这个是因为我无权创建触发器,所以我可以测试和 DBA对于为我创建它犹豫不决。

对于它的价值,这是我的fiddle for the trigger logic

1 个答案:

答案 0 :(得分:2)

你可以将它放在你的块的pre-insert触发器中,用于表格中的表墨水。