Welcome 微信登录

首页 / 数据库 / MySQL / Oracle中创建自增字段方法

在Oracle数据库中,没有Oracle自增字段这样的功能,但是通过触发器(trigger)和序列(sequence)可以实现。假设[表test]关键字段为id,建一个序列,代码为:[html]
  1. create sequence seq_test  
  2. minvalue 1     --最小值  
  3. maxvalue 99999999999  --最大值  
  4. start with 1   -- 从1开始计数   
  5. increment by 1  -- 每次加几个  
  6. nocache    --没缓存  
  7. order;  
建触发器的代码为:[html]
  1. create or replace trigger tri_test  
  2.   before insert on test    
  3.   for each row  
  4. declare  
  5.   nextid number;  
  6. begin  
  7.   IF :new.id IS NULL or :new.id=0 THEN  
  8.     select seq_test.nextval  
  9.     into nextid  
  10.     from sys.dual;  
  11.     :new.id:=nextid;  
  12.   end if;  
  13. end tri_test;  
关键字::NEW 和:OLD使用方法和意义,new 只出现在insert和update时,old只出现在update和delete时。在insert时new表示新插入的行数据,update时new 表示要替换的新数据、old表示要被更改的原来的数据行,delete时old表示要被删除的数据。Oracle数据库捕获数据变化量方法Oracle 10g的sysaux空间暴增与空间回收相关资讯      oracle数据库教程 
  • Oracle raw数据类型介绍  (01/29/2013 10:05:53)
  • 监听器注册与ORA-12514 错误分析  (11/13/2012 14:30:08)
  • Oracle SQL的cursor理解  (11/13/2012 14:16:17)
  • Oracle 如何强制刷新Buffer Cache  (01/29/2013 10:02:46)
  • dblink致Oracle库的SCN变成两库的  (11/13/2012 14:24:41)
  • Linux操作系统下完全删除Oracle数  (11/13/2012 08:25:52)
本文评论 查看全部评论 (0)
表情: 姓名: 字数