• 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中约束是一用户名为指定范围存放的。也就是说一个用户名下面约束名子不能有重复,但整个数据库中,可以有相同的约束名。

  • 相关阅读:
    第5章选择结构程序设计
    悲剧:第一次使用Mysql
    Windows Server 2003 IIS 配置网站出现问题及解决
    关于Matlab的Web开发以及Matlab webservice服务的实现经验
    大连市地方税务局关于取消委托代征技术合同酬金个人所得税问题的通知
    使用 WScript.exe 运行脚本
    JavaScript数组
    总结一些js自定义的函数
    JavaScript中parseInt()函数问题
    [荐]日本官方公布听力网址大全
  • 原文地址:https://www.cnblogs.com/john2017/p/6364478.html
Copyright © 2020-2023  润新知