CREATE TABLE STUDENT( --创建学生表
ID NUMBER(10) PRIMARY KEY, --主键ID
SNAME VARCHAR2(20),
);此时给学生表添加数据时 必须指定id
INSERT INTO STUDENT VALUES(1,'Tom');下面用触发器和序列结合使得添加数据时id自动增长 不要指定了
--创建序列
CREATE SEQUENCE SEQ_STU
INCREMENT BY 1 ID每次自增几
START WITH 1 ID从几开始自增
MAXVALUE 99999 ID的最大值
MINVALUE 1; ID的最小值--创建触发器 添加数据的时候id自增
CREATE OR REPLACE TRIGGER TIGGER_STU
BEFORE
INSERT ON STUDENT
FOR EACH ROW
WHEN(NEW.ID IS NULL)
BEGIN
SELECT SEQ_STU.NEXTVAL INTO:NEW.ID FROM DUAL;
END;触发器创建好之后就可以这样添加数据了
INSERT INTO STUDENT VALUES(null,'Tom');ID可以为空 添加到数据库时 oracle会自动调用该触发器 更具序列 往后自增
本文详细介绍了如何在Oracle数据库中利用触发器和序列来自动为学生表添加ID字段,使得在插入数据时ID字段能够自动增长,无需手动指定。通过创建序列和触发器,简化了数据插入过程,提高了效率。
4185

被折叠的 条评论
为什么被折叠?



