Oracle主键自动增加的方法与总结
2014-04-05 23:06
246 查看
第一步:添加主键(如果已有且是自己命名的可略过)
一个表中要有主键,我们建主键的时候要自己命名,如果不是可能在后边遇到“主键唯一,不能自动添加”的问题。第二步:创建序列
/*在Oracle中,可以为每张表的主键创建一个单独的序列,
然后从这个序列中获取自动增加的标识符,把它赋值给主键。
例如一下语句创建了一个名为user_id_seq 的序列,
这个序列的起始值为1,增量为1。*/
create sequence user_id_seq increment by 1 start with 1;
create sequence user_id_seq
minvalue 1
maxvalue 99999999999
start with 1
increment by 1
cache n / nocache --其中n代表一个整数,默认值为20
;
/*
如果指定CACHE值,Oracle就可以预先在内存里面放置一些Sequence,这样存取的快些。cache里面的取完后,Oracle自动再取一组到cache。使用cache或许会跳号, 比如数据库突然不正常down掉(shutdown abort),cache中的Sequence就会丢失。举个例子:比如你的sequence中cache 100,那当你sequence取到90时突然断电,那么在你重启数据库后,sequence的值将从101开始。
*/
第三步:创建触发器
/*如果每次都要插入user_id_seq.nextval的值会非常累赘与麻烦,因此可以考虑使用触发器来完成这一步工作。
创建触发器trg_user_id_seq*/
create or replace trigger trg_user_id_seq BEFORE
insert ON users FOR EACH ROW WHEN (new.id is null)
begin select user_id_seq.nextval into:new.id from dual;
end trg_user_id_seq ;
--编译 trigger 语句如下:
--ALTER TRIGGER trg_user_id_seq COMPILE;
--commit;
第四步:enjoy it !!!
insert into 你的表,可以不用设置主键!!相关文章推荐
- [沫沫金原创]Oracle创建按天自动分区并增加按列值子分区的实现方法
- ListView自动滑动到顶部(底部)的方法总结
- Eclipse增加CSS插件_代码高亮_自动补全-方法
- 利用rsync自动备份 完全配置方法 增加了ip限制
- [JavaSricept]自动刷新页面的实现方法总结(转载--作者:郭昌华)
- JavaScript/js自动刷新页面方法总结和页面跳转
- vs增加第三方依赖库的方法总结
- jquery easyui datagrid实现增加,修改,删除方法总结
- .NET开发的常用方法总结(持续增加中……)
- 新打开acitivyt时,EditText焦点自动带出软键盘问题解决方法总结
- js实现页面自动刷新方法总结(转)
- 自动发帖机的斗争过程防止垃圾评论的几个方法总结
- 自动刷新页面的实现方法总结
- SCO UNIX环境下自动增加网关两种方法
- js与自动伸缩图片 自动缩小图片的多浏览器兼容的方法总结 原创
- 利用rsync自动备份 完全配置方法 增加了ip限制
- 自动刷新页面的实现方法总结
- javascript(js)自动刷新页面的实现方法总结
- Mysql获取自动增加的id的最大值的方法
- Atitit. 木马病毒的外部class自动加载机制------加载class的方法总结