zoukankan      html  css  js  c++  java
  • Oracle基础 11 约束 constraints

    --主、外键约束

    create table t(
      id int primary key);


    create table t1(
      id int references t(id));

    或者
    create table t( 
    id int constraint pk_t_id primary key);


    create table t1(
    id int constraint fk_t1_id references t(id));

      
    修改列为主、外键约束

      create table emp1(
        id number(10),
        name varchar2(20),
        dept number(10)
      );
      create table dept1(
        dept number(10),
        dept_name varchar2(20)
      );

      alter table dept1
      add constraint pk_dept1_dept primary key(dept);

      alter table emp1
      add constraint fk_emp1_dept foreign key(dept) references dept1(dept);

    --创建非空约束列

      create table t(      
        id number(10) constraint nn_t_id not null,
        name varchar2(20),
        company varchar2(20)
      );

      修改列为非空约束

      create table t(
        id number(10),
        name varchar2(20),
        company varchar2(20)
      );
      alter table t 
      modify id constraint nn_t_id not null; 


    --创建唯一约束列

      create table t(                                            
        id number(10) constraint u_t_i unique,
        name varchar2(20),
        company varchar2(20)
      );

      修改列为唯一约束
      alter table t 
      add constraint u_t_id unique(id);


    --创建检查约束

      create table aa3(       
        id number(10) constraint aa3_id_c check(id>=101),
        name varchar2(20),
        company varchar2(20)
      );

      修改列为检查约束
      create table t2(
        id int);
      alter table t2
      add constraint c_t2_id check(id>100);


    --删除约束

      alter table t2 drop constraint c_t2_id;  
     
    注意:对于外键约束的删除时有顺序的,要不然会提示,找到子记录的信息。先删子表的约束,再删父表的约束。  
     
    --查看约束 

    在oracle中,可以通过 user_constraints 视图来查找。
      
    select table_name,constraint_name,constraint_type 
    from user_constraints 
    where table_name='大写的表名'
     
    注意:oracle中约束是一用户名为指定范围存放的。也就是说一个用户名下面约束名子不能有重复,但整个数据库中,可以有相同的约束名。

  • 相关阅读:
    Gin 使用 websocket
    7天用Go从零实现Web框架Gee教程
    docker-compose 搭建 Redis Sentinel 测试环境
    关闭禁用 Redis 危险命令
    Redis Cluster 设置密码
    使用 twine 上传自己的 python 包到 pypi
    Redis 5.0.7 讲解,单机、集群模式搭建
    Redis 单机模式,主从模式,哨兵模式(sentinel),集群模式(cluster),第三方模式优缺点分析
    django 重写 mysql 连接库实现连接池
    编译安装httpd-2.4
  • 原文地址:https://www.cnblogs.com/john2017/p/6364478.html
Copyright © 2011-2022 走看看