--oracle创建自增id并自动填充字段
--1.目标表创建自增字段:如表存在id,name
alter table FORMLAYOUT add AUTOID number(4);
--1.创建自增序列:注意oracle的序列不同表的序列需要单独创建,因为oracle对
--每个序列单独维护其值,如果多表用一个序列会混乱
CREATE SEQUENCE autoid_sequence
  INCREMENT BY 1 -- 每次加几个
  START WITH 1 -- 从1开始计数
  NOMAXVALUE -- 不设置最大值
  NOCYCLE -- 一直累加,不循环
  NOCACHE -- 不建缓冲区

--2.在目标表上增加触发器,注意oracle名称中如果有-需要加双引号
--drop trigger "trigger-FORMLAYOUT2";
CREATE OR REPLACE TRIGGER "trigger-FORMLAYOUT"
 BEFORE
  INSERT
 ON FORMLAYOUT
REFERENCING NEW AS NEW OLD AS OLD
 FOR EACH ROW
begin
    SELECT autoid_sequence.nextval INTO :new.autoid FROM dual;
end;
--3.插入数据
insert into FORMLAYOUT(id,name)
select id,name from othertable
select * from FORMLAYOUT
--atuoid id name


 

相关文章:

  • 2021-06-09
  • 2022-12-23
  • 2022-02-19
  • 2021-12-19
  • 2021-05-23
  • 2021-05-28
猜你喜欢
  • 2022-12-23
  • 2022-02-09
  • 2022-12-23
  • 2022-02-13
  • 2021-06-23
  • 2022-01-13
  • 2022-12-23
相关资源
相似解决方案