濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > 在Oracle數(shù)據(jù)庫中添加外鍵約束的方法詳解

在Oracle數(shù)據(jù)庫中添加外鍵約束的方法詳解

熱門標(biāo)簽:開發(fā)外呼系統(tǒng) 哪個(gè)400外呼系統(tǒng)好 哈爾濱電話機(jī)器人銷售招聘 百度地圖標(biāo)注途經(jīng)點(diǎn) 慧營銷crm外呼系統(tǒng)丹丹 山東crm外呼系統(tǒng)軟件 愛客外呼系統(tǒng)怎么樣 地圖標(biāo)注養(yǎng)老院 圖吧網(wǎng)站地圖標(biāo)注

外鍵指定一個(gè)列(或一組列)的值必須符合另一個(gè)表的一些行的值。我們說這是維持關(guān)聯(lián)表的參照完整性。
在圖形化界面中,在 外鍵 選項(xiàng)卡,只需簡單地點(diǎn)擊外鍵欄位來編輯。使用外鍵的工具欄,能讓你創(chuàng)建新的、編輯或刪除選擇的外鍵欄位。
添加外鍵:添加一個(gè)外鍵到表。
刪除外鍵:刪除已選擇的外鍵。
使用 名 編輯框來輸入新鍵的名。

使用 參考模式、參考表 和 參考限制 下拉列表來分別選擇一個(gè)外部索引數(shù)據(jù)庫、表及限制。

要包含欄位到鍵,只需簡單地雙擊 欄位 欄位或點(diǎn)擊  來打開編輯器進(jìn)行編輯。

刪除時(shí) 下拉列表定義采取行動(dòng)的類型。

No Action:這是默認(rèn)的動(dòng)作。參考鍵值將不會(huì)更新或刪除。
CASCADE:分別地刪除任何參考已刪除行的行或更新參考列值為被參考列的新值。
SET NULL:設(shè)置參考列為 null。

啟用
你可以通過勾選或取消勾選框來選擇是否啟用或禁用外鍵限制。

下面來正式看使用SQL語句創(chuàng)建的方法:

1、默認(rèn)的創(chuàng)建方式
在刪除被參照的數(shù)據(jù)時(shí),將無法刪除。

CREATE TABLE T_INVOICE 
(ID NUMBER(10) NOT NULL, 
INVOICE_NO VARCHAR2(30) NOT NULL, 
CONSTRAINT PK_INVOICE_ID PRIMARY KEY(ID)); 
 
CREATE TABLE T_INVOICE_DETAIL 
(ID NUMBER(10) NOT NULL, 
AMOUNT NUMBER(10,3), 
PIECE NUMBER(10), 
INVOICE_ID NUMBER(10), 
CONSTRAINT PK_DETAIL_ID PRIMARY KEY(ID)); 
ALTER TABLE T_INVOICE_DETAIL 
ADD CONSTRAINT FK_INVOICE_ID 
FOREIGN KEY(INVOICE_ID ) REFERENCES T_INVOICE(ID); 

2、級(jí)聯(lián)刪除 
    外鍵語法有個(gè)選項(xiàng)可以指定級(jí)聯(lián)刪除特征。這個(gè)特征僅作用于父表的刪除語句。使用這個(gè)選項(xiàng),父表的一個(gè)刪除操作將會(huì)自動(dòng)刪除所有相關(guān)的子表記錄

ALTER TABLE T_INVOICE_DETAIL 
ADD CONSTRAINT FK_INVOICE_ID 
FOREIGN KEY(INVOICE_ID ) REFERENCES T_INVOICE(ID) 
ON DELETE CASCADE; 

    如果不能級(jí)聯(lián)刪除,可設(shè)置子表外鍵字段值為null,使用on delete set null語句(外鍵字段不能設(shè)置not null約束).

ALTER TABLE T_INVOICE_DETAIL 
ADD CONSTRAINT FK_INVOICE_ID 
FOREIGN KEY(INVOICE_ID ) REFERENCES T_INVOICE(ID) 
ON DELETE SET NULL; 

三、參照字段語法結(jié)構(gòu) 
    創(chuàng)建外鍵約束是,外鍵字段參照父表的主鍵或Unique約束字段。這種情況下可以不指定外鍵參照字段名,如下:

ALTER TABLE T_INVOICE_DETAIL 
ADD CONSTRAINT FK_INVOICE_ID 
FOREIGN KEY(INVOICE_ID ) REFERENCES T_INVOICE; 

    當(dāng)沒有指定參照字段時(shí),默認(rèn)參照字段是父表的主鍵。
    如果外鍵字段參照的是Unique而非Primary Key字段,必須在add constraint語句中指定字段名。

您可能感興趣的文章:
  • 關(guān)于sql腳本導(dǎo)入Oracle時(shí)重復(fù)生成check約束的問題解決
  • Oracle數(shù)據(jù)庫的字段約束創(chuàng)建和維護(hù)示例
  • oracle刪除主鍵查看主鍵約束及創(chuàng)建聯(lián)合主鍵
  • oracle 11g em重建報(bào)唯一約束錯(cuò)誤解決方法
  • Oracle約束管理腳本
  • Oracle如何給數(shù)據(jù)庫添加約束過程解析

標(biāo)簽:周口 固原 開封 承德 和田 甘肅 武漢 青島

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在Oracle數(shù)據(jù)庫中添加外鍵約束的方法詳解》,本文關(guān)鍵詞  在,Oracle,數(shù)據(jù)庫,中,添加,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《在Oracle數(shù)據(jù)庫中添加外鍵約束的方法詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于在Oracle數(shù)據(jù)庫中添加外鍵約束的方法詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    喜德县| 九龙坡区| 当涂县| 汉寿县| 海口市| 大丰市| 文化| 简阳市| 彩票| 曲松县| 隆安县| 沂水县| 临桂县| 昭苏县| 建德市| 弥勒县| 襄垣县| 兴山县| 嘉义市| 青冈县| 铜山县| 榆树市| 双鸭山市| 桃江县| 沂南县| 舒兰市| 保康县| 抚松县| 台湾省| 饶平县| 西盟| 嵩明县| 阿拉善右旗| 象山县| 柏乡县| 城口县| 金坛市| 封开县| 邵阳市| 阿拉善左旗| 伊金霍洛旗|