亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        oracle主鍵的設(shè)置方法

        字號:


            主鍵:
            1.主鍵約束: 一個表只能有一個主鍵約束。主鍵可以是單個字段,也可以是多個字段。無論是哪種情況,其所有字段都是NOT NULL。
            2.Unique約束:一個表可以有多個Unique約束,Unique的字段可以為NULL。
            3.主鍵與Unique:不同點在于一個表只能有一個主鍵約束,但是可以有多個Unique約束;主鍵所有字段都是not null,unique可以是
            null;相同點在于都能保證唯一性。
            4.主鍵、Unique與索引:主鍵約束與Unique約束默認會成為索引。當(dāng)主鍵和Unique有多個字段時,有索引前綴性問題,即where語
            句中的條件必須有主鍵或者unique的第一個字段,否則不會使用索引。
            5. 外鍵與主鍵、Unique:外鍵必須為另外一張表(父表)的主鍵或者唯一索引。如果要添加記錄,而父表中沒有則報錯。反之,如
            果要刪除父表中的記錄,而子表中有記錄,也會報錯。但是如果在創(chuàng)建外鍵約束時,如果使用on delete cascade,則刪除父表中數(shù)據(jù)時
            ,不報錯而直接把子表關(guān)聯(lián)的數(shù)據(jù)刪除。
            如果要刪除父表,則需要加上cascade constraints,此時子表的foreign key被去除,表中記錄保持不變。
            外鍵:
            外鍵是該表是另一個表之間聯(lián)接的字段
            外鍵必須為另一個表中的主鍵
            外鍵的用途是確保數(shù)據(jù)的完整性。它通常包括以下幾種:
            實體完整性,確保每個實體是唯一的(通過主鍵來實施).
            oracle主鍵的設(shè)置方法有2種:
            一種是設(shè)置自增長主鍵,另一種是生成唯一序列;
            1.自增長主鍵
            SQL> create table Prim_key_Increase_Test(
            2 id number(10) primary key,
            3 name varchar2(30)
            4 );
            表已創(chuàng)建。
            SQL> create sequence Prim_key_Incre_Sequence
            2 minvalue 1
            3 nomaxvalue
            4 start with 1
            5 increase by 1
            6 nocycle
            7 nocache;
            increase by 1
            *
            第 5 行出現(xiàn)錯誤:
            ORA-00933: SQL 命令未正確結(jié)束
            SQL> 5
            5* increase by 1
            SQL> c /increase/increment/
            5* increment by 1
            SQL> r
            1 create sequence Prim_key_Incre_Sequence
            2 minvalue 1
            3 nomaxvalue
            4 start with 1
            5 increment by 1
            6 nocycle
            7* nocache
            序列已創(chuàng)建。
            SQL> create trigger Prim_key_trigger before
            2 insert on Prim_key_Increase_Test for each row
            3 begin
            4 select Prim_key_Incre_Sequence.nextval into:New.id from dual;
            5 end;
            6 /
            觸發(fā)器已創(chuàng)建
            SQL> commit;
            提交完成。
            SQL> insert into Prim_key_Increase_Test(id) values('181');
            已創(chuàng)建 1 行。
            SQL> select * from Prim_key_Increase_Test;
            ID NAME
            ---------- ------------------------------
            1
            SQL> insert into Prim_key_Increase_Test(id) values('181');
            已創(chuàng)建 1 行。
            SQL> insert into Prim_key_Increase_Test(id) values('181');
            已創(chuàng)建 1 行。
            SQL> select * from Prim_key_Increase_Test;
            ID NAME
            ---------- ------------------------------