正如我在標題中所描述的那樣,我想寫一個觸發器來定義添加一個新的人員,除了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 *」 - 你不需要這個。無論如何,它在多用戶環境下無法正常工作。序列中的差距是**不相關**絕對沒有必要避免它們。 –