如何编写序列并在插入表时触发将检查 ID 属性(和 INTEGER)是否为空。
如果为空,则应从 1 向上递增,检查值本身是否已经是主键,如果不是,则应将其用作要插入的主键。
否则,如果 id 不为空,则应更新给定 id 处的行
到目前为止我有这个,但不确定
CREATE SEQUENCE create_student_id
START WITH 1
INCREMENT BY 1;
CREATE OR REPLACE TRIGGER new_student_id BEFORE
INSERT ON orders
IF StudentID == null
THEN
FOR EACH ROW BEGIN
:new.StudentID := create_student_id.nextval;
END IF
--Need to update the table otherwise
END;