• ORACLE外键约束(FORIGEN KEY)


    ORACLE外键约束

    1. 外键约束的定义是,让另一张表的记录来约束自己。这里的另一张表就是主表。
    2. 当主表的记录删除时,我们可以跟随主表删除记录(ON DELETE CASCADE)、或者相应字段设置为空(ON DELETE SET NULL)、或者不允许删除(默认)。

        a) 注意一:当主表被级联删除(DORP TABEL WEN CASCADE CONSTRAINTS)时,从表建立的与主表关联的外键约束将被删除,从表数据不会发生变化。

      1.   假设从表为另一个表外键约束对应的主表,该外键约束关系不会受到影响。

        b) 注意二:从表外键约束指向的主表字段,必须是唯一性约束或主键约束的字段。

      1.     因为,当外键约束指向的主表记录有重复项时,删除其中之一时,从表伴随操作不明朗。

     

    创建表时创建外键语法:

    PRIMARY[ˈpraɪməri] 主要的、关键

    FOREIGN[ˈfɒrən] 外键

    REFERENCES[ˈrefrəns]

    CONSTRAINT [kənˈstreɪnt]:约束、限制、强制

     

    CREATE TABLE WEN

    (

    MY CHAR(10) NOT NULL,

    LOVE CHAR(8) NOT NULL,

    PRIMARY KEY (MY),

    CONSTRAINT WEN_FK FOREIGN KEY (MY,LOVE)

    REFERENCES GUOGUO(MY,LOVE) ON DELETE CASCADE --当主表记录删除时,从表记录伴随删除

    )

    ON DELETE SET NULL;

    当主表记录删除时,设置从表数据为NULL,注意,从表字段必须允许为NULL

    不写ON语句时,默认不允许删除主表记录。

    修改表时追加外键:

    ALTER TABLE WEN

    ADD CONSTRAINT WEN_FK FOREIGN KEY(MY,LOVE) REFERENCES GUOGUO(MY,LOVE) ON DELETE CASCADE

    ALTER TABLE GUOGUO ADD CONSTRAINT GUOGUO_FK FOREIGN KEY(MY,LOVE) REFERENCES

    WEN(MY,LOVE) ON DELETE SET NULL

     

  • 相关阅读:
    springboot检索之Elasticsearch简介
    springboot消息之AmqpAdmin管理组件的使用
    springboot消息之@RabbitListener和@EnableRabbit
    springboot消息之利用docker安装rabbitmq并测试三种模式
    【python-leetcode03-滑动窗口法】无重复字符的最大子串
    JAVA 设置模块间的依赖关系
    Oracle 中Number的长度定义
    js获取当前日期一年的第几周
    Eclipse利用Maven快速上手搭建MyBatis
    JAVA 8 新特性Stream初体验
  • 原文地址:https://www.cnblogs.com/gongjin/p/8047904.html
Copyright © 2020-2023  润新知