2012年12月10日星期一

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


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.        /  

没有评论:

发表评论