Oracle 实现插入自增列

一:创建sequence

create sequence TEST_SEQ  --序列名 (TEST_SEQ 为序列名,随便取名)­ 
increment by 1 --每次增加1 ­ 
start with 1 --从1开始 ­ 
nomaxvalue --没有最大值 ­ 
nocache --没有缓存序列­ 或者 cache 20 缓存 20 个
select TEST_SEQ.currval from dual; --查询当前的序列值


select TEST_SEQ.nextval from dual; --查询当前自增后的序列值

二:创建表插入

假设表名为ORCL_TEST ,SQL语句如下:

INSERT INTO orcl_test VALUES(TEST_SEQ.nextval , '王小明','小明',.....) -- 直接在主键自增列上用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了,自己写demo练练手,顺便记一下
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值