--创建表
--创建序列
CREATE SEQUENCE SEQ_ID
MINVALUE 1 --最小值
MAXVALUE 99999999 --最大值
START WITH 1 --从哪个数开始
INCREMENT BY 1 --每次加1
CACHE 10 -- 缓存
--创建触发器
CREATE OR REPLACE TRIGGER TRI_ID
BEFORE INSERT --在 INSERT 操作之前触发
ON V_TEMP --在 V_TEMP表 INSERT 操作之前触发
FOR EACH ROW
BEGIN
SELECT SEQ_ID.NEXTVAL INTO:NEW.ID FROM DUAL; --把这个唯一的序列,填写到 V_TEMP表的ID这个字段中。
END;
CREATE TABLE V_TEMP(ID NUMBER(10),NAME VARCHAR2(100));
SELECT * FROM V_TEMP;--创建序列
CREATE SEQUENCE SEQ_ID
MINVALUE 1 --最小值
MAXVALUE 99999999 --最大值
START WITH 1 --从哪个数开始
INCREMENT BY 1 --每次加1
CACHE 10 -- 缓存
--创建触发器
CREATE OR REPLACE TRIGGER TRI_ID
BEFORE INSERT --在 INSERT 操作之前触发
ON V_TEMP --在 V_TEMP表 INSERT 操作之前触发
FOR EACH ROW
BEGIN
SELECT SEQ_ID.NEXTVAL INTO:NEW.ID FROM DUAL; --把这个唯一的序列,填写到 V_TEMP表的ID这个字段中。
END;
--插入操作
INSERT INTO V_TEMP(NAME) values('李四');
INSERT INTO V_TEMP(NAME) values('张三');
--查看id是否递增
SELECT * FROM V_TEMP;
以下是修改序列一些信息
--修改增量
ALTER SEQUENCE SEQ_ID INCREMENT BY 4;
--修改最大值
ALTER SEQUENCE SEQ_ID MAXVALUE 8888888888888;
--修改最小值
ALTER SEQUENCE SEQ_ID MINVALUE -222222;
--修改缓存
ALTER SEQUENCE SEQ_ID CACHE 222222;
本文详细介绍如何在Oracle数据库中使用序列和触发器实现自动填充表的ID字段,并展示了如何通过SQL语句创建表、序列及触发器。此外,还介绍了如何修改序列属性如增量、最大值等。
2978

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



