主键(Primary Key)设置

主键(Primary Key)设置版权声明 Copyright 2008 2020 david AllRightsRes 本文为博主原创文章 转载请标明出处 https blog csdn net jssg tzw article details lt div gt lt linkrel st

 版权声明:Copyright©2008-2020,david, All Rights Reserved, 本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/jssg_tzw/article/details/ 

Oracle/PLSQL: 主键(Primary Key)用法

1 目标

通过示例讲解如何创建、删除、禁用和开启主键。

2 前言之-什么是主键

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

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

3 创建主键之 – 在创建表时定义主键

单列主键示例:

 
 
  1. CREATE TABLE TB_PK_EXAMPLE
  2. (
  3. ID number,
  4. NAME varchar2( 50),
  5. DESCRIPTION varchar2( 300),
  6. CONSTRAINT TB_PK_EXAMPLE_PK PRIMARY KEY( ID) --定义主键
  7. );

联合主键示例:

 
  
  1. CREATE TABLE TB_SUPPLIER_EX
  2. (
  3. supplier_id number,
  4. supplier_name varchar2( 50),
  5. supplier_description varchar2( 300),
  6. contact_name varchar2( 50),
  7. constraint TB_SUPPLIER_EX_PK primary key(supplier_id, supplier_name) --联合主键
  8. );

4 创建主键之 – 使用alter table语法

语法

ALTER TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY (col1, col2,...coln); 
   

示例准备

先创建两张表(tb_employees和tb_departments),脚本如下:

 
   
  1. create table tb_employees
  2. (
  3. employee_id number,
  4. employee_name varchar2( 50),
  5. employee_age number,
  6. employee_birth date,
  7. department_id number
  8. );
  9. create table tb_departments
  10. (
  11. department_id number,
  12. department_name varchar2( 100),
  13. location varchar2( 300)
  14. );

同过alter table语法创建主键:

 
    
  1. --单列主键
  2. alter table tb_employees add constraint tb_employees_pk primary key (employee_id);
  3. --联合主键
  4. alter table tb_departments add constraint tb_departments_pk primary key (department_id,department_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; 
        

7 删除主键

语法:

ALTER TABLE table_name DROP CONSTRAINT constraint_name; 
         

示例:

 
         
  1. alter table tb_employees drop constraint tb_employees_pk;
  2. alter table tb_departments drop constraint tb_departments_pk;
  3. alter table TB_PK_EXAMPLE drop constraint TB_PK_EXAMPLE_PK;
  4. alter table TB_SUPPLIER_EX drop constraint TB_SUPPLIER_EX_PK;

——————————————————————————————————————-

如果您们在尝试的过程中遇到什么问题或者我的代码有错误的地方,请给予指正,非常感谢!

联系方式:

版权@:转载请标明出处!

——————————————————————————————————————–



















版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/214659.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午3:45
下一篇 2026年3月18日 下午3:45


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号