Oracle 实现数据表插入时主键列自增

首先创建sequence:

create sequence TEST_SEQ  //序列名(TEST_SEQ 为序列名,自定义命名)-
increment by 1  //每次增加1-
start with 1  //从1开始-
minvalue 1  //最小值1-
nomaxvalue  //没有最大值 或者- maxvalue 99999999999999999
nocache  //没有缓存序列- 或者 cache 20 缓存20个

 

select TEST_SEQ.currval from dual;   //查询当前的序列值
select TEST_SEQ.nextval from dual;  //查询下一个序列值

 

假设表名为orcl_test
方法一:自动获取自增主键

INSERT INTO orcl_test VALUES(TEST_SEQ.nextval , ‘小明‘,‘xiaoming‘,.....)  //直接在主键自增列上用TEST_SEQ.nextval 来获取值就行

方法二:使用触发器

create or replace trigger test_trigger //(test_trigger) 触发器名称
before insert 
on orcl_test  //(orcl_test)表名称
for each row  // for each row : 对表的每一行触发器执行一次
begin
select TEST_SEQ.nextval into :new.id from dual;  // (new.id)new 等于新插入的一行, id 是orcl_test 表要实现自增的主键列
end;

Oracle 实现数据表插入时主键列自增

上一篇:测试ADB Pipe的封装


下一篇:java.sql.SQLException: Unknown initial character set index '255' received from server. Initial client character set can be forced via the 'characterEncoding' property.解决方案