欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Oracle数据库联合主键

程序员文章站 2022-06-02 16:49:14
...

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;