触发存储过程而不是INSERT(PL / SQL)

时间:2013-04-28 04:19:43

标签: stored-procedures plsql triggers

给定一个简单的雇员表(id,lastname,firstname),该分配要求我编写一个带有名字和姓氏的stor proc,找出下一个id并在表中插入一条新记录。那已经完成了。下一部分要求编写一个触发器,只要发生新的INSERT就会调用此stor proc。我的理解是这个触发器应该拦截触发它的insert语句,提取它的参数并运行插入的stor proc INSTEAD(不是之前或之后)。问题是,替代触发器似乎只适用于我不允许编写的视图。关于如何处理这个问题的任何想法?

感谢您的投入!

1 个答案:

答案 0 :(得分:0)

在Oracle中有序列。因此,您可以创建一个序列,然后在触发前的每次插入中分配下一个序列号。例子可以在这里找到

http://www.adp-gmbh.ch/ora/concepts/sequences.html

在这里

http://www.adp-gmbh.ch/ora/sql/trigger/before_after_each_row.html

如果您现在可以完成作业或需要更多帮助,请告诉我。