获取oracle中每个插入的Max + 1值

时间:2015-02-04 16:32:31

标签: sql oracle triggers max

CREATE OR REPLACE TRIGGER TRIGGER1 
AFTER INSERT ON ANIO
FOR EACH ROW
BEGIN
  INSERT INTO ANIOXCAP (ANCA_ID,ANCA_CAP,ANCA_ANIO)
  SELECT SIGUIENTE,CAPITULOS.CAPI_ID,:new."ANIO_ID" FROM CAPITULOS;
END;

基本上我在CAPITULOS中有30个条目。对于Anio中的每个插入,我需要添加30个条目。我读到我必须使用secuences来管理MAX + 1但是,序列如何知道从哪里开始,因为当我创建序列时它从1开始并且我已经有大约400个条目(从1-400~开始)< / p>

按数据库ver为11g

1 个答案:

答案 0 :(得分:1)

如果您正在寻找如何为SEQUENCE配置起始值,则需要 START WITH 子句。

例如,

CREATE SEQUENCE user_seq
 START WITH     400
 INCREMENT BY   1;

如果您使用 Oracle 12c ,我建议使用标识列,而不是使用旧的触发器+序列方法。