这个问题很多时候是没有为该表建立触发器导致的,或者是sequence没建立,或者是trigger没建立。
建立其中一个或两个即可。
1.这是建立sequence
1 create sequence TERST_SQL(表名) 2 3 minvalue 1 4 5 maxvalue 999999999999999999999999999 6 7 start with 1 8 9 increment by 1 10 11 cache 20;
2.这是建立trigger的
CREATE OR REPLACE TRIGGER " TEST_TRI" BEFORE INSERT ON TEST FOR EACH ROW BEGIN SELECT test_seq.NEXTVAL INTO :NEW.ID FROM DUAL; END;
建立完成之后,即可正常使用 SQL 语句了
-- 例如: 建立好 TEST_SEQ(表名) sequence 后
insert into Table(ID, Name) values (TEST_SEQ.NEXTVAL,'abcd');