Oracle 去掉联合主键中的一列

需求:现在有张表中是联合主键,但是现在要改成只有一个字段是主键。

解决方法:先删除这张表的联合主键,再重新创建这张表的主键,sql测试脚本如下

--创建测试表
create table test_wxh(
     t_id number(16) not null,t_name varchar2(256),t_my_id number(16) not null
)

--添加联合主键
alter table test_wxh
  add constraint PK_test_wxh primary key (t_id,t_my_id);
 
--表中插入数据 
 select * from test_wxh for update
 
 --去掉联合主键,再添加一个主键
 ALTER TABLE test_wxh drop constraint PK_test_wxh;
 
 --再添加一个主键
  alter table test_wxh
  add constraint PK_test_wxh primary key (t_id);

相关文章

数据库版本:11.2.0.4 RAC(1)问题现象从EM里面可以看到,在23号早上8:45~8:55时,数据库等待会话暴增...
(一)问题背景最近在对一个大约200万行数据的表查看执行计划时,发现存在异常,理论上应该返回100多万...
(一)删除备份--DELETE命令用于删除RMAN备份记录及相应的物理文件。当使用RMAN执行备份操作时,会在RM...
(1)DRA介绍 数据恢复顾问(Data Recovery Advise)是一个诊断和修复数据库的工具,DRA能够修复数据文...
RMAN(Recovery Manager)是Oracle恢复管理器的简称,是集数据库备份(backup)、修复(restore)和恢复...
(1)备份对象 可以使用RMAN进行的备份对象如下: --整个数据库:备份所有的数据文件和控制文件; --数...