Oracle 外鍵創(chuàng)建
Oracle 外鍵創(chuàng)建
在Oracle數(shù)據(jù)庫(kù)中,外鍵是強(qiáng)制實(shí)施參照完整性的一種方式,使用外鍵就意味著一個(gè)表中的值在另一個(gè)表中也必須出現(xiàn)。
被引用的表稱為父表,而帶有外鍵的表稱為子表。子表中的外鍵通常會(huì)引用父表中的主鍵。
外鍵的創(chuàng)建
1、使用CREATE TABLE語(yǔ)句創(chuàng)建
使用CREATE TABLE語(yǔ)句創(chuàng)建外鍵的語(yǔ)法是:
CREATE TABLE table_name ( column1 datatype null/not null, column2 datatype null/not null, ... CONSTRAINT fk_column FOREIGN KEY (column1, column2, ... column_n) REFERENCES parent_table (column1, column2, ... column_n) );
示例:
CREATE TABLE supplier ( supplier_id numeric(10) not null, supplier_name varchar2(50) not null, contact_name varchar2(50), CONSTRAINT supplier_pk PRIMARY KEY (supplier_id) ); CREATE TABLE products ( product_id numeric(10) not null, supplier_id numeric(10) not null, CONSTRAINT fk_supplier FOREIGN KEY (supplier_id) REFERENCES supplier(supplier_id) );
在這個(gè)例子中,我們?cè)趕upplier表上創(chuàng)建了一個(gè)名為supplier_pk的主鍵。 它只包含一個(gè)字段 - supplier_id字段。 然后,在products表上創(chuàng)建了一個(gè)名為fk_supplier的外鍵,該表根據(jù)supplier_id字段引用supplier表。
也可以創(chuàng)建一個(gè)具有多個(gè)字段的外鍵,如下例所示:
CREATE TABLE supplier ( supplier_id numeric(10) not null, supplier_name varchar2(50) not null, contact_name varchar2(50), CONSTRAINT supplier_pk PRIMARY KEY (supplier_id, supplier_name) ); CREATE TABLE products ( product_id numeric(10) not null, supplier_id numeric(10) not null, supplier_name varchar2(50) not null, CONSTRAINT fk_supplier_comp FOREIGN KEY (supplier_id, supplier_name) REFERENCES supplier(supplier_id, supplier_name) );
在這個(gè)例子中,外鍵稱為fk_foreign_comp基于兩個(gè)字段 - supplier_id和supplier_name字段引用供應(yīng)商表。
2、使用ALTER TABLE語(yǔ)句創(chuàng)建
在ALTER TABLE語(yǔ)句中創(chuàng)建外鍵的語(yǔ)法是:
ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY (column1, column2, ... column_n) REFERENCES parent_table (column1, column2, ... column_n);
示例:
ALTER TABLE products ADD CONSTRAINT fk_supplier FOREIGN KEY (supplier_id) REFERENCES supplier(supplier_id);
在這個(gè)例子中,我們創(chuàng)建了一個(gè)名為fk_supplier的外鍵,它根據(jù)supplier_id字段引用supplier表的supplier_id字段。
我們也可以創(chuàng)建一個(gè)具有多個(gè)字段的外鍵,如下例所示:
ALTER TABLE products ADD CONSTRAINT fk_supplier FOREIGN KEY (supplier_id, supplier_name) REFERENCES supplier(supplier_id, supplier_name);
相關(guān)文章
- Oracle簡(jiǎn)介
- Oracle Or子句
- Oracle LOCK TABLE語(yǔ)句(鎖表)
- Oracle 啟用外鍵
- Oracle Convert()函數(shù)
- Windows Memcached 安裝
- Memcached 連接
- Memcached add 命令
- Memcached stats 命令
- DB2教程
- DB2數(shù)據(jù)庫(kù)
- DB2索引
- DB2序列
- DB2與XML
- DB2數(shù)據(jù)庫(kù)安全
- DB2角色
- Oracle中時(shí)間日期轉(zhuǎn)化函數(shù)to_date和to_char的具體使用
- oracle數(shù)據(jù)庫(kù)id自增及生成uuid問題
- 關(guān)于oracle邏輯備份exp導(dǎo)出指定表名時(shí)需要加括號(hào)的問題解析
- Oracle?range時(shí)間范圍自動(dòng)分區(qū)的創(chuàng)建方式