表约束

一、给一个用户下的表批量增加主键约束,复制出来在command 中执行
select 'alter table '||table_name||' add constraint '|| 'pk_'||table_name ||' primary key(id);' from user_tables

二、同时删除oracle中有主外键关系的两张表

select constraint_name from user_constraints where table_name ='表名';--得到约束名字

先删除约束,然后删除表
alter table table_name drop constraint 约束名(cascade);

使约束暂时无效
alter table table_name disable/enable constraint constraint_name;

无效以后也可以删除表

或者只要删除外键约束,就可以删除主键表,不会影响到外键表的数据
select 'alter table '||table_name||' drop constraint '||constraint_name||';' from user_constraints where constraint_type='r';


三、主键约束添加、删除

1、创建表的同时创建主键约束
①、无命名 create table accounts ( accounts_number number primary key, accounts_balance number );
②、有命名 create table accounts ( accounts_number number primary key, accounts_balance number, constraint yy primary key(accounts_number) );

2、删除表中已有的主键约束
①、无命名
select * from user_cons_columns where talbe_name='accounts';
alter table accounts drop constraint sys_c003063; --无命名

②、有命名
alter table accounts drop contraint yy;

③、向表中添加主键约束
alter table accounts add constraint pk_accounts primary key(accounts_number);

原文地址:https://www.cnblogs.com/tianmingt/p/4434769.html