zoukankan      html  css  js  c++  java
  • oracle的unique约束

             unique约束是唯一性约束,对于需要列类型应用程序会重复出现分歧值。您可以加入一个单独的列unique约束。能够加入多个列unique约束()。假设为多个列加入一个unique约束,仅仅须要保证这多个列的值不会所有同样就可以。
         在创建表时,为列加入unique约束。形式例如以下:
    column_name data_type [constraint constraint_name] unique或
    create table table_name(
    column_name data_type,[,...]
    [constraint constraint_name] unique(column_name)
    [,...]
    )
    也能够为已经创建的表中的列提娜姬unique约束,这时就须要使用alter talbe ..add语句。形式例如以下:
    alter table table_name add [constraint constraint_name] unique(column_name);


          删除unique约束
    删除列上的unique约束,能够使用alter table...drop语句,形式例如以下:
    alter table table_name drop unique(column_name)
    假设约束有名称。也能够使用指定名称的方式删除该约束,语句形式例如以下:
    alter table table drop constraint constraint_name;


    详细的操作例如以下:
    SQL> create table person
      2  (pid number(4) not null unique,
      3  pname varchar2(10) unique,
      4  sex char(2)
      5  );
    表已创建。
    上面创建一张person表,为pid和pname都指定唯一约束
    SQL> insert into person values(1,'aaa','女');
    已创建 1 行。
    SQL> insert into person values(2,'aaa','女');
    insert into person values(2,'aaa','女')
    *
    第 1 行出现错误:
    ORA-00001: 违反唯一约束条件 (SYSTEM.SYS_C0010079)
    SQL> insert into person values(2,'abcd','女');
    已创建 1 行。
    如上面所看到的,当加入的名字同样时报错。
    SQL> insert into person values(2,'abcd','女');
    已创建 1 行
    改动下pname。此时就没报错。


    再创建还有一张表。


    SQL> create table p2(
      2  pid number(4),
      3  pname varchar2(10),
      4  psex char(2),
      5  constraint p2_unique unique(pid,pname)
      6  );
    表已创建。
    SQL> alter table p2 add constraint unique_p2sex unique(psex);  --为psex加入unique
    表已更改。
    SQL> alter table p2 drop unique (psex);                        --删除unique唯一约束
    表已更改。
    SQL> alter table p2 drop constraint p2_unique;
    表改变。
    SQL>

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    LeetCode59 Spiral Matrix II
    LeetCode58 Length of Last Word
    LeetCode54 Spiral Matrix
    LeetCode63 Unique Paths II
    LeetCode62 Unique Paths
    LeetCode55 Jump Game
    网易2017年校招笔试题 最大的奇约数
    Codeforces Round #119 (Div. 2)
    Codeforces Round #118 (Div. 2)
    2016 MIPT Pre-Finals Workshop Taiwan NTU Contest
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4744848.html
Copyright © 2011-2022 走看看