一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Oracle中的約束

 哈飛揚(yáng) 2015-10-16

ORACLE提供了如下幾種約束:NOT NULL 非空、UNIQUE 唯一、PRIMARY KEY 主鍵、FOREIGN KEY 外鍵、CHECK 條件檢查。

一、not null約束

1、建立表時(shí)指定約束。

SQL> create table aa3(id number(10) constraint aa3_nn not null,

  2    name varchar2(20),

  3    company varchar2(20));

2、表建立好后再指定約束。

SQL> drop table aa3;

SQL> create table aa3(

  2     id number(10),

  3     name varchar2(20),

  4     company varchar2(20));

SQL> alter table aa3 modify(id constraint aa3_nn not null);

3、刪除約束。

SQL> alter table aa3 drop constraint aa3_nn;

二、check條件檢查

SQL> create table aa3(id number(10) constraint aa3_id_c check(id>=1),

  2    name varchar2(20),

  3    company varchar2(20));

屬于列級(jí)約束。

 

SQL> create table aa3(id number(10),

  2    name varchar2(20),

  3    company varchar2(20),

  4    constraint aa3_id_c check(id>=1)

  5  );

屬于表級(jí)約束。

注:約束中,非空約束必須是列約束。其他類型約束都即可以是列約束,也可以創(chuàng)建為表約束。

三、unique約束

1、列級(jí)約束

SQL> create table aa3(id number(10) constraint aa3_id_u unique,

  2    name varchar2(20),

  3    company varchar2(20));

2、表級(jí)約束

SQL> create table aa3(id number(10),

  2    name varchar2(20),

  3    company varchar2(20),

  4    constraint aa3_id_u unique(id)

  5  );

四、主鍵約束

主鍵約束在效果上,相當(dāng)于唯一約束+非空約束。也就是,即要求列值不能重復(fù),又要求列值必須非空。要注意是,在同一列上,不能即有主鍵約束,又有唯一約束。

五、外鍵約束

外鍵約束則必須主鍵結(jié)合在一起使用。在創(chuàng)建約束時(shí),先必須先有一個(gè)主鍵,然后,根據(jù)此主鍵,創(chuàng)建一個(gè)相關(guān)聯(lián)外鍵約束。也就是說(shuō),外鍵約束必須對(duì)應(yīng)一個(gè)主鍵,不能創(chuàng)建獨(dú)立外鍵約束。

 

創(chuàng)建表

create table emp1(id number(10), name varchar2(20), dept number(10));

create table dept1(dept number(10), dept_name varchar2(20));

 

設(shè)置主外鍵約束

alter table dept1 add(constraint dept1_dept_p primary key(dept));

alter table emp1 add(constraint emp1_dept_f foreign key(dept) references dept1(dept));

六、級(jí)聯(lián)刪除

         delete from dept1 where dept=3;不能刪除數(shù)據(jù),違背了主外鍵約束。

         將子表外鍵設(shè)為級(jí)聯(lián)刪除,這樣刪除主表部門3數(shù)據(jù)時(shí),子表有關(guān)部門3數(shù)據(jù)也就跟著刪除了。

alter table emp1 drop constraint emp1_dept_f;

SQL> alter table emp1 add(constraint emp1_dept_f

  2   foreign key(dep        t)

  3   references dept1(dept)

  4   on delete cascade);

ORACLE不允許刪除父表。除非使用級(jí)聯(lián)約束cascade constraints將先刪除子表上外鍵,再刪除父表。

drop table dept1 cascade constraints;

七、約束禁用與啟用

1、約束禁用

         Alter table 表名 disable constraint 約束名 cascade;

         在主外鍵約束中,先禁用外鍵,再禁用主鍵。

2、約束啟用

         Alter table 表名 enable constraint 約束名 cascade;

         在主外鍵約束中,先啟用主鍵,再啟用外鍵

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    日本人妻中出在线观看| 国产午夜在线精品视频| 日韩美女偷拍视频久久| 在线精品首页中文字幕亚洲| 国产午夜精品亚洲精品国产| 精品国产成人av一区二区三区| 亚洲国产综合久久天堂| 欧美丝袜诱惑一区二区| 丁香七月啪啪激情综合| 99久热只有精品视频免费看| 国自产拍偷拍福利精品图片| 国产在线成人免费高清观看av| 欧洲日本亚洲一区二区| 伊人久久青草地婷婷综合| 欧美成人免费视频午夜色| 性欧美唯美尤物另类视频 | 久久大香蕉精品在线观看| 欧美一区二区三区喷汁尤物| 中文字日产幕码三区国产| 国产精品一区日韩欧美| 中文字幕日韩一区二区不卡| 中文字幕日韩欧美理伦片| 日韩精品免费一区二区三区| 国产欧美日韩精品成人专区| 欧美乱视频一区二区三区| 国产成人精品99在线观看| 国产三级黄片在线免费看| 嫩呦国产一区二区三区av| 久久精品国产熟女精品| 又黄又硬又爽又色的视频| 国产毛片不卡视频在线| 日韩精品视频香蕉视频| 欧美日韩少妇精品专区性色| 人妻中文一区二区三区| 色婷婷丁香激情五月天| 欧美日韩亚洲国产精品| 精品香蕉一区二区在线| av一区二区三区天堂| 日韩中文字幕狠狠人妻| 亚洲少妇人妻一区二区| 九九热国产这里只有精品|