zoukankan      html  css  js  c++  java
  • 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

     

  • 相关阅读:
    python : matplotlib does not work in Eclipse
    在线代码生成器的设计和使用
    Hama——BSP、Graph教程
    oozie:hadoop中的工作流引擎
    oracle命令建库全过程
    IntelliJ IDEA 自动生成方法注释(含参数及返回值)转+亲测IDEA2018.3
    转:Can't connect to MySQL server on 'XXXX' (10055) 解决方案
    资源的释放
    java中的break、continue、return的区别
    解析xml文件的方式
  • 原文地址:https://www.cnblogs.com/gongjin/p/8047904.html
Copyright © 2011-2022 走看看