源码 | 书库 | 模板 | 特效 | 广告 | 素材 | 工具 | 必备 | ALEXA | 字体
会员投稿 投稿指南 RSS订阅
您当前的位置是:主页>网络编程>Oracle教程>

oracle中的主键自动增长

www.jz123.cn  2009-10-18   来源:   中国建站    责任编辑(袁袁)    我要投递新闻

  学oracle不久,在建表时发现这样一个问题,比如我现在创建一个表:student

  create table STUDENT

  (

  ID NUMBER not null,

  NAME VARCHAR2(20) default '男',

  SEX VARCHAR2(4),

  ADDRESS VARCHAR2(40),

  MEMO VARCHAR2(60)

  )

  现在我想实现每插入一条数据,就让id自动增长1.在SQLSERVER中这个很好实现,但在oracle中我搞了半天,查了下资料发现要用到“序列(sequence)”,“触发器”的知识。

  首先,创建一个序列:

  create sequence STU

  minvalue 1

  maxvalue 999999999999

  start with 21

  increment by 1

  cache 20;

  然后,给表student创建一个触发器:

  create or replace trigger stu_tr

  before insert on student

  for each row

  declare

  -- local variables here

  begin

  select stu.nextval into :new.id from dual;

  end stu_tr;

上一篇:oracle OCCI 的一个简单的包装类的实现 下一篇:如何修改ORACLE数据库的字符集命令

评论总数:1 [ 查看全部 ] 网友评论


关于我们隐私版权广告服务友情链接联系我们网站地图