最近接触了一个数据采集的项目,每次所有设备采集上来的最新数据都是在实时表里,然后再通过触发器将各个设备的数据从实时表里同步到各自的历史表里。但是发现,Oracle不能像MySQL那样设置主键自增,Oracle用【序列+触发器】的方式使数据表的一列或多列实现自增,下面就ORACLE数据库的主键自增实现过程做详细讲解,下面以一张历史表HISTORY620022为例,是直接在PLSQL客户端进行的操作,关键步骤记录如下:
第一步:创建实时表:REALTIMEDATA及其序列和触发器
-- Create table
create table REALTIMEDATA
(
id NUMBER(38) not null,
device_id NUMBER(10),
device_code VARCHAR2(100),
device_name VARCHAR2(100),
time VARCHAR2(32),
item1 INTEGER,
item2 VARCHAR2(100),
item3 VARCHAR2(100),
item4 VARCHAR2(100),
item5 VARCHAR2(100),
item6 VARCHAR2(100),
item7 VARCHAR2(100),
item8 VARCHAR2(100),
item9 VARCHAR2(100),
item10 VARCHAR2(100),
item11 VARCHAR2(100),
item12 VARCHAR2(100),
item13 VARCHAR2(100),
item14 VARCHAR2(100),
item15 VARCHAR2(100),
item16 VARCHAR2(100),
item17 VARCHAR2(100),
item18 VARCHAR2(100),
item19 VARCHAR2(100),
item20 VARCHAR2(100),
item21 VARCHAR2(100),
item22 VARCHAR2(100),
item23 VARCHAR2(100),
item24 VARCHAR2(100),
item25 VARCHAR2(100),
item26 VARCHAR2(100),
item27 VARCHAR2(100),
item28 VARCHAR2(100),
item29 VARCHAR2(100),
item30 VARCHAR2(100),
item31 VARCHAR2(100),
item32 VARCHAR2(100),
item33 VARCHAR2(100),
item34 VARCHAR2(100),
item35 VARCHAR2(100),
item36 VARCHAR2(100),
item37 VARCHAR2(100),
item38 VARCHAR2(100),
item39 VARCHAR2(100),
item40 VARCHAR2(100),
item41 VARCHAR2(100),
item42 VARCHAR2(100),
item43 VARCHAR2(100),
item44 VARCHAR2(100),
item45 VARCHAR2(100),
item46 VARCHAR2(100),
item47 VARCHAR2(100),
item48 VARCHAR2(100),
item49 VARCHAR2(100),
item50 VARCHAR2(100),
item51 VARCHAR2(100),
item52 VARCHAR2(100),
item53 VARCHAR2(100),
item54 VARCHAR2(100),
item55 VARCHAR2(100),
item56 VARCHAR2(100),
item57 VARCHAR2(100),
item58 VARCHAR2(100),
item59 VARCHAR2(100),
item60 VARCHAR2(100),
item61 VARCHAR2(100),
item62 VARCHAR2(100),
item63 VARCHAR2(100),
item64 VARCHAR2(100),
item65 VARCHAR2(100),
item66 VARCHAR2(100),
item67 VARCHAR2(100),
item68 VARCHAR2(100),
item69 VARCHAR2(100),
item70 VARCHAR2(100),
item71 VARCHAR2(100),
item72 VARCHAR2(100),
item73 VARCHAR2(100),
item74 VARCHAR2(100),
item75 VARCHAR2(100),
item76 VARCH