Oracle Apex - ID 列不会根据设置的序列递增,而是递增到“t1000”

问题描述 投票:0回答:0

我在 oracle apex 中创建了一个序列,并将该序列链接到应用程序端的行。但是,在主从表单上,当我尝试添加新的表单记录时,它不会自动递增到新的 Roster_ID。我的错误是什么?请帮助

这是我的代码:

CREATE TABLE ROSTER(
    Roster_ID NUMBER(5),
    Working_Hours NUMBER(2),
    Shift_Date DATE,
    Shift_End_Date DATE,
    Shift_ID NUMBER(5) REFERENCES Shift (Shift_ID),
    Ward_ID NUMBER(5) REFERENCES WARD (Ward_ID),
    Ward_Name VARCHAR2(25) REFERENCES WARD (Ward_Name),
    CONSTRAINT PK_ROSTER PRIMARY KEY (Roster_ID),
    CONSTRAINT CHECK_WORKING_HOURS CHECK (Working_Hours IN (6, 8, 12))
);

CREATE SEQUENCE Roster_seq START WITH 5 INCREMENT BY 1 NOCACHE NOCYCLE;

CREATE OR REPLACE TRIGGER Roster_T1
BEFORE
INSERT ON Roster
FOR EACH ROW
BEGIN
  IF :NEW.Roster_ID is NULL THEN 
    select Roster_seq.nextval into :NEW.Roster_ID from SYS.DUAL; 
  END IF; 
END;
/
COMMIT;
/

sql oracle oracle-apex apex oracle-apex-5.1
© www.soinside.com 2019 - 2024. All rights reserved.