小弟以前是学SQL,现在要用Oracle数据库,遇到关于自增的问题,忘高手解答一下。
create sequence class_seq increment by 1 start with 1 MAXVALUE 999999 NOCYCLE NOCACHE;上面是一个自增的能帮我解释一下吗?
比如这是什么意思?sequence class_seq用这个自增的时候听说好象还要用什么触发器.请问怎么用?
INSERT INTO CENTER.NEW_CMD_RECORD(ID,SEND_MAN) VALUES('自增的列','王二')
create sequence class_seq increment by 1 start with 1 MAXVALUE 999999 NOCYCLE NOCACHE;上面是一个自增的能帮我解释一下吗?
比如这是什么意思?sequence class_seq用这个自增的时候听说好象还要用什么触发器.请问怎么用?
INSERT INTO CENTER.NEW_CMD_RECORD(ID,SEND_MAN) VALUES('自增的列','王二')
整个序列的意思就是序列从1开始,每次增加1,最大值为999999
MAXVALUE 999999 ------这个指的是序列的最大值
NOCYCLE --------这个指定如果到了最大的值后,class_seq.nextval就没有值了
NOCACHE -------这个如果是nocache指定不预放内存,如果是cache 2,就一次存两个到内存,
class_seq.nextval就取内存里的,如果突然断电,内存里的数据消失,就再次取数据到内存,
这样就可能导致跳号。
----------创建序列
CREATE SEQUENCE SEQ_WEATHER
START With 1
INCREMENT BY 1
--MAXVALUE 999999999999999999999999999
CACHE 20;----------创建触发器,实现添加表数据时id自增
CREATE OR REPLACE TRIGGER TR_WEATHER
BEFORE INSERT ON WEATHER
FOR EACH ROW
BEGIN
SELECT SEQ_WEATHER.NEXTVAL INTO :NEW.ID from DUAL;
END;
------------创建序列
CREATE SEQUENCE SEQ_WEATHER
START With 1
INCREMENT BY 1
--MAXVALUE 999999999999999999999999999
CACHE 20;
-----------创建触发器,实现添加表数据时id自增
CREATE OR REPLACE TRIGGER TR_WEATHER
BEFORE INSERT ON WEATHER
FOR EACH ROW
BEGIN
SELECT SEQ_WEATHER.NEXTVAL INTO :NEW.ID from DUAL;
END;