--创建表
--创建序列
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;