• 技术文章 >数据库 >Oracle

    实例详解oracle添加唯一约束

    长期闲置长期闲置2022-04-13 21:04:14转载689
    本篇文章给大家带来了关于Oracle的相关知识,其中主要介绍了添加唯一约束的相关问题,唯一性约束指表中一个字段或者多个字段联合起来可以唯一标识一条记录的约束,下面一起来看一下,希望对大家有帮助。

    推荐教程:《Oracle视频教程

    1 目标

    用演示样例演示怎样创建、删除、禁用和使用唯一性约束

    2 什么是唯一性约束?

    唯一性约束指表中一个字段或者多个字段联合起来可以唯一标识一条记录的约束。

    联合字段中,可以包括空值。

    注:在Oracle中,唯一性约束最多能够有32列。

    唯一性约束能够在创建表时或使用ALTER TABLE语句创建。

    3 唯一性约束和主键的差别

    4 创建表时定义唯一性约束

    1)语法:

    CREATE TABLE table_name
    (
        column1 datatype null/not null,
        column2 datatype null/not null,
        ...
        CONSTRAINT constraint_name UNIQUE (column1, column2,...,column_n)
    );

    2)基于单列的唯一性约束演示样例:

    create table tb_supplier
    (
      supplier_id          number not null
     ,supplier_name        varchar2(50)
     ,contact_name         varchar2(50)
     ,CONSTRAINT tb_supplier_u1 UNIQUE (supplier_id)--创建表时创建唯一性约束
    );

    3)基于多列的唯一性约束演示样例:

    create table tb_products
    (
      product_id        number not null,
      product_name      number not null,
      product_type      varchar2(50),
      supplier_id       number,
      CONSTRAINT tb_products_u1 UNIQUE (product_id, product_name) --定义复合唯一性约束
    );

    5 使用ALTER TABLE语法创建唯一性约束

    1)语法

    ALTER TABLE table_name
    ADD CONSTRAINT constraint_name
    UNIQUE (column1, column2, ... , column_n);

    2)演示样例准备,先创建表

    drop table tb_supplier;
    drop table tb_products;
    
    create table tb_supplier
    (
      supplier_id          number not null
     ,supplier_name        varchar2(50)
     ,contact_name         varchar2(50)
    );
    
    create table tb_products
    (
      product_id        number not null,
      product_name      number not null,
      product_type      varchar2(50),
      supplier_id       number
    );

    3)基于单列的唯一性约束

    alter table tb_supplier
    add constraint  tb_supplier_u1
    unique (supplier_id);

    4)基于多列的唯一性约束

    alter table tb_products
    add constraint  tb_products_u1
    unique (product_id,product_name);

    6 禁用唯一性约束

    1)语法:

    ALTER TABLE table_name
    DISABLE CONSTRAINT constraint_name;

    2)演示样例:

    ALTER TABLE tb_supplier
    DISABLE CONSTRAINT  tb_supplier_u1;

    7 使用唯一性约束

    1)语法:

    ALTER TABLE tb_supplier
    ENABLE CONSTRAINT tb_supplier_u1;

    2)演示样例:

    ALTER TABLE tb_supplier
    ENABLE CONSTRAINT tb_supplier_u1;

    7 删除唯一性约束

    1)语法:

    ALTER TABLE table_name
    DROP CONSTRAINT constraint_name;

    2)演示样例:

    ALTER TABLE tb_supplier DROP CONSTRAINT tb_supplier_u1;
    ALTER TABLE tb_products DROP CONSTRAINT tb_products_u1;

    推荐教程:《Oracle教程

    以上就是实例详解oracle添加唯一约束的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:CSDN,如有侵犯,请联系admin@php.cn删除
    专题推荐:oracle
    上一篇:怎么修改oracle的processes值 下一篇:oracle sga是什么
    PHP小白到大牛直播班第二十期

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• centos7可以使用Oracle吗• oracle11g忘记用户名怎么办• oracle怎么修改实例名• oracle怎么查询所有用户• oracle怎么判断数据是否是数字类型
    1/1

    PHP中文网