oracle 给已存在的表增加主键自增约束
来源:互联网 发布:dd for windows 编辑:程序博客网 时间:2024/05/16 15:18
如果使用的是hibernate的主键自增约束,请参照点击打开链接。
这里只记录针对Oracle本身的自增约束。
步骤大概有3步,
1.创建表
2.创建序列sequence
3.设置触发器以应用sequence到表的主键
这里以AD_AUDIT_PLAN表为例。
create sequence AD_AUDIT_PLAN_SEQUENCE minvalue 1 maxvalue 99999999999999999999 start with 1 increment by 1 cache 20;
这里创建序列完毕。序列可以在数据库中找到(感觉类似创建了一张表)。这里是说创建一个叫AD_AUDIT_PLAN_SEQUENCE的序列,里面的最小值是1,最大值是20个9(多少个取决于你主键的位数,也可以在主键范围内取值),然后从1开始,每次自增1,缓存为20.
create or replace trigger ad_audit_plan_tg before insert on ad_audit_plan
for each row when (new.id is null)
begin
select ad_audit_plan_sequence.nextval into :new.id from dual;
end ad_audit_plan_tg;
这里创建触发器,并把表跟序列关联起来。我理解的是,序列只是一个存储1.2.3.4.5.。。。。的地方,当表中每次插入一条数据的时候就从序列中取一个数字当做主键插入表中,这个数字是唯一的,只能取一次,取过了序列里就没有这个数了。
这里还要注意,end后面要跟上触发器名,不然执行不成功。
- oracle 给已存在的表增加主键自增约束
- 用SQL语句给一个表的增加自增主键或删除主键
- Oracle下给表设置自增的逻辑主键
- 关于oracle表已设置主键自增仍报违反唯一约束问题
- oracle数据库中为已经存在表的主键ID设置自增
- 如何给Oracle已有数据的表增加字段
- Oracle中用一个序列给两个表创建主键自增功能的后果
- oracle中实现自增加主键的方法
- Oracle数据库中,如何给已有很多数据的表填充自增序列字段
- ORACLE表主键自增
- oracle 表 主键自增
- oracle 创建自动增加主键的表
- 为已存在数据的表加主键
- 为已存在数据的表加主键
- SQL-已存在数据的表主键设置递增
- 在oracle中,如何给已存在的表添加一列?
- sqlserver增加主键约束
- oracle主键自增
- 响应式布局与bootstrap框架
- centos7引导Windows,实现双系统选择启动
- 题目:drop,delete 与 truncate 的区别?
- html5的表单总结一(form)
- android AtomicBoolean类的使用
- oracle 给已存在的表增加主键自增约束
- Android 插件仓库
- C# 字符串与字节数组相互转换
- 解释一下下面代码的输出
- PHP学习日记0_PHP、静态网页、动态网页、静态网站访问流程、动态网站访问流程
- 《算法(第4版)第1章:基础》学习笔记
- Makefile中的%标记和系统通配符*的区别
- OpenCV中的图像数据存储格式
- 阿里巴巴分布式数据库服务DRDS研发历程