正如我在标题中所描述的那样,我想写一个触发器来定义添加一个新的人员,除了ID之外的所有属性,我想要触发生成并自动插入它。我怎样才能做到这一点?如何定义插入新人时自动生成id的触发器?
我已经在PL/SQL中编写了如下所示的代码,但它包含了序列,我无法找到如何使用序列获取我的员工的当前最大ID,那么请你帮助我,是否使用序列?
CREATE SEQUENCE BEFORE_INSERTING START WITH 1000 INCREMENT BY 1;
CREATE OR REPLACE TRIGGER NEW_ID_BEFORE_INSERTING
BEFORE INSERT ON STAFF
FOR EACH ROW
BEGIN
:NEW.STAFF_ID := BEFORE_INSERTING.nextval;
END;
/
顺便说一句,这个代码工作正常,但是当你看到它是从1000
使用序列有什么问题? –
我必须从当前最大ID继续,但我从1000开始,而不是从当前最大值开始。 那么是否有任何代码可以获得当前的最大值并通过加1来继续计数?希望我的英语很清楚,对不起。 – CemAtes
“*我如何获得当前的最大ID *” - 你不需要这个。无论如何,它在多用户环境下无法正常工作。序列中的差距是**不相关**绝对没有必要避免它们。 –