经过以下三步就可以在表里新建一个自增长的字段了。感觉oracle居然没有一个比较方便的定义方式来建自增长字段实在有点不科学。。或许是我孤陋寡闻了?1.新建表--```sqlcreate table trade_msg( id integer primary key, --需要自增长的字段 track_id varchar2(16), grp_id varchar2(6), message varchar2(200), flag varchar2(2), create_time date);```2.新建sequence --```CREATE sequence SEQ_ID minvalue 1 maxvalue 99999999 start with 1 increment BY 1 nocache ORDER;```3.新建触发器--```CREATE OR REPLACE TRIGGER tri_test_id before INSERT ON trade_msg --触发器要建在相应的表上 FOR EACH row DECLARE nextid NUMBER; BEGIN IF :new.id --对应表里需要自增长的字段 IS NULL or :new.id=0 THEN SELECT SEQ_ID.nextval INTO nextid FROM sys.dual; :new.id:=nextid; END IF; END tri_test_id;```