首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

oracle中兑现自动增长列

2012-11-01 
oracle中实现自动增长列oracle中实现自动增长列不能够像 SqlServer中在 表中直接加标示,而是要借助序列来

oracle中实现自动增长列
oracle中实现自动增长列不能够像 SqlServer中在 表中直接加标示,而是要借助序列来实现。下面简单介绍一下,oracle中实现自动增长列的一个方法

步骤:
1  创建一个序列来实现自动增长。
   
     create sequence user_sequence1
         start with  1   ----初值
           increment by 1     --增量
            nomaxvalue       --没有最大值
            nocycle       --不能循环
            nocache        --不缓存

        注意:序列创建完成时不能加 ;结束

2  创建一个表

      create table student(
         id numbert,
         name varchar2(10)
      )

3   测试

        insert into student values (user_sequence1.nextval,'aaa');
       select * from student;


这样能够实现自动增长列的添加,但是 我们现在一般都是 数据库和程序分离 所以我们最好能够在数据库中把自动增长写好 而程序中只需要加值不需要知道 你是创建的那个序列。

步骤:
1           和上面的第一个一样  省略

2              和上面的一样    省略

3        创建一个触发器

         create or replace trigger user_trigger1
         before insert on student
         for each row
          declare
           tempnum number;
            begin
              select user_sequence1.nextval into tempnum from dual;
               :new.id  :=tempnum;
              end;

4 测试
              insert  into student values (5,'aaa');
              select * from student;


说明:这里还是需要给一个number类型的值,但是无论给什么值它都是按照序列的值填充的。所有我们可以在设计数据库的时候给数据库默认值 然后我们添加的时候直接给 default即可。

热点排行