Oracle创建表设置自动增长列范例

转自http://zhangguangcheng.iteye.com/blog/951990


1、创建一个用户表t_sys_user,其中有id,login_name,login_pwd三个字段,ID为自动增长列:

Java代码   收藏代码
  1. create table t_sys_user  
  2. (  
  3.   id number(6) not null primary key,  
  4.   login_name varchar2(50) not null,  
  5.   login_pwd varchar2(50) not null  
  6. );  

 2、创建序列:

Java代码   收藏代码
  1. create sequence seq_user  
  2.        increment by 1       --指定序列号之间的间隔,该值可为正的或负的整数,但不可为0。序列为升序。忽略该子句时,缺省值为1。  
  3.        start with 1     --指定生成的第一个序列号。在升序时,序列可从比最小值大的值开始,缺省值为序列的最小值。对于降序,序列可由比最大值小的值开始,缺省值为序列的最大值。  
  4.        maxvalue 9999        --指定序列可生成的最大值。  
  5.        cycle nocache        --一直累加,不循环   

 3、创建触发器:

Java代码   收藏代码
  1. create or replace trigger tri_user  
  2.            before insert on t_sys_user for each row  
  3.        begin  
  4.            select seq_user.nextval into:new.id from dual;   --这里是最容易出错的地方  
  5.        end;  
  6.        /  

 

 4、测试:

Java代码   收藏代码
  1. insert into t_sys_user (login_name,login_pwd) values ('zhanggc','123456');  

 

5、更改序列:

Java代码   收藏代码
  1. create sequence seq_user  
  2.        increment by 1         
  3.      start with 1              
  4.      maxvalue 9999        
  5.     cycle nocache     

  

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值