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

     

  • 相关阅读:
    SPOJ Distinct Substrings(后缀数组求不同子串个数,好题)
    POJ 1743 Musical Theme(后缀数组+二分答案)
    HDU 6191 Query on A Tree(可持久化Trie+DFS序)
    swust oj 1052
    swust oj 1051
    swust oj 1016
    swust oj 1014
    swust oj 1013
    swust oj 1012
    swust oj 1011
  • 原文地址:https://www.cnblogs.com/gongjin/p/8047904.html
Copyright © 2011-2022 走看看