oracle 修改主键,新增字段为主键

Oracle 专栏收录该内容
31 篇文章 0 订阅

1:首先判断主键是否作为其他表的外键,若有,执行语句

  alter table 表名 drop constraint 约束名

 drop完所有外键约束后就可以对主键进行修改了

 2:删除主键约束

alter table 表名 drop constraint 主键约束名

 3:新增字段,并将该字段修改为主键

alter table 表名
  add constraint 约束名 primary key (字段名)
  using index 
  tablespace 表空间名
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    next 1M
    minextents 1
    maxextents unlimited
  );

 如果被修改表有数据,则会报

ORA-01758: 要添加法定 (NOT NULL) 列,则表必须为空 异常

为了解决改异常,保证数据的完整性,就需要创建临时表,将元数据复制到临时表里面

1:创建序列
create sequence S_C_ZONE_MANAGE
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 

2:创建临时表

create table 临时表
 AS SELECT 序列.NEXTVAL,别名.列,别名.列
 FROM 原表 别名

 复制完数据后删除原表数据,此时主表就会创建完成,

5:向原表插入数据

insert into 原表
select  别名.*  from 临时表 别名

 

6:删除临时表

 

drop table 表名

 

 

  • 1
    点赞
  • 1
    评论
  • 8
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

<p> <span>Docker </span><span>是 PaaS 供应商 DotCloud 开源的一个基于 LXC 的高级容器引擎,基于 Go 语言开发并遵从Apache 2.0  协议,通过内核虚拟化技术(namespaces及cgroups等,这里的内核技术指的是Linux内核)来提供容器的资源隔离与安全保证等。由于docker通过操作系统层的虚拟化实现隔离,所以在运行时,不需要额外的虚拟化管理程序(VMM(Virtual Machine Monitor),以及Hyperisor)支持,它属于内核级虚拟化,可以实现更高的性能,同时对资源的额需求更低。它和KVM 虚拟化的区别在于:docker是通过隔离来进行创建容器,而KVM虚拟化通过模拟方式创建虚拟机</span><span>。而本套课程主要讲解docker容器网络的各种构建方式,比如单台主机内的容器通信,及多台主机间的容器通信的主流实现方式。</span> </p> <p> <br /></p> <p> <span style="color:#000000;">主要讲解</span><span style="color:#000000;">Docker </span><span style="color:#000000;">网络以下几个方面:</span> </p> <p> <span style="color:#000000;">  1.  Linux</span><span style="color:#000000;">的虚拟桥和虚拟网卡、网络名称空间等。</span> </p> <p> <span style="color:#000000;">  2.  Docker</span><span style="color:#000000;">网络的基础知识。</span> </p> <p> <span style="color:#000000;">  3.  用户自定义的网络</span> </p> <p> <span style="color:#000000;">  4.  Docker</span><span style="color:#000000;">和</span><span style="color:#000000;">openvswitch</span><span style="color:#000000;">虚拟交换机的集成。</span> </p> <p> <span style="color:#000000;">  5.  容器</span><span style="color:#000000;">dns</span><span style="color:#000000;">相关配置</span> </p> <p> <span style="color:#000000;">  6.  容器网络通信的相关安全</span> </p> <p> <span style="color:#000000;">  7.  容器和</span><span style="color:#000000;">flannel</span><span style="color:#000000;">网络集成</span> </p> <p> <span style="color:#000000;">  8.  容器网络的相关排错</span> </p> <p> <span style="color:#000000;"><br /></span> </p> <p> <span style="color:#000000;"><span style="color:#FF0000;">注意:</span><span style="color:#FF0000;font-size:14px;background-color:#FFFFFF;">本课程学习需要具有一定的</span><span style="color:#FF0000;">Linux</span><span style="color:#FF0000;font-size:14px;background-color:#FFFFFF;">基础、网络基础,至少需要您了解网络七层协议,路由等基础知识,并掌握</span><span style="color:#FF0000;">Docker</span><span style="color:#FF0000;font-size:14px;background-color:#FFFFFF;">相关知识点。</span></span> </p> <p> <span style="color:#000000;"><br /></span> </p> <p> <span style="color:#000000;"><img src="https://img-bss.csdn.net/202003160230552928.png" alt="" /><br /></span> </p> <p> <span style="color:#000000;"><br /></span> </p> <p> <span style="color:#000000;"><br /></span> </p> <p> <span style="color:#000000;"><img src="https://img-bss.csdn.net/202003160231149077.png" alt="" /><br /></span> </p> <p> <span style="color:#000000;"><img src="https://img-bss.csdn.net/202003160231316553.png" alt="" /><br /></span> </p>
©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值