Oracle数据库联合主键

1、定义:

      主键:在Oracle中,主键指能唯一标识一条记录的单个数据表列或联合的数据表列(联合主键|复合主键)。主键用到的数据                   表列数据不能包含空值。而且,一张表只能包含一个主键。

2、作用:

    数据表的联合主键组合不允许重复,即同一行的数据,联合主键所属的列数据组合不能相同。

   用来通过多个字段值去确定本条数据的唯一性

3、规范:

    在Oracle数据库中,联合主键的列不能超过32个。主键可以在创建表时定义或者通过ALTER TABLE语法定义

4、使用:

   1)、创建表时添加联合主键:示例:

create table test
(sno char(12),
 name char(4),
CONSTRAINT PK_test PRIMARY KEY (sno,name) -- 联合主键
);

   2)创建表之后追加联合主键:

alter table 表名 add constraint pk_tab2 primary key (sno,name);

5、禁用主键

语法:

ALTER TABLE table_name DISABLE CONSTRAINT constraint_name;

示例:

alter table tb_employees disable constraint tb_employees_pk;

6、启用主键:

语法:

ALTER TABLE table_name ENABLE CONSTRAINT constraint_name;

示例:

alter table tb_employees enable constraint tb_employees_pk;

6、删除主键:

语法:

ALTER TABLE table_name DROP CONSTRAINT constraint_name;

示例:

alter table tb_employees drop constraint tb_employees_pk;
alter table tb_departments drop constraint tb_departments_pk;
alter table TB_PK_EXAMPLE drop constraint TB_PK_EXAMPLE_PK;
alter table TB_SUPPLIER_EX drop constraint TB_SUPPLIER_EX_PK;

 

你可能感兴趣的:(数据库)