栏目导航
热点推荐
- 快速掌握删除Oracle 10g垃圾表的
- Oracle数据库如何处理临时数据?
- Oracle教程:如误添加数据文件如
- Oracle数据库安全基础知识
- Oracle新手最常碰到的6个错误及
- Oracle数据库的使用技巧五则
- 将Oracle中的数据更改后出错的解
- 在不安装Oracle客户端的情况下进
- 讲解Oracle数据库冷备份恢复的具
- 当数据积累到一定时间后执行会越
- Oracle数据库环境下数据文件丢失
- Oracle数据库10g环境下修改VIP地
阅览排行
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数据库的字符集命令