工装设计网站案例,clannad制作公司,网络营销做得好的企业,汽车网站首页模板代码什么是外键#xff1f; 1#xff09;在Oracle数据库中#xff0c;外键是用来实现参照完整性的方法之一。打个形象的比喻#xff0c;外键是指定义外键的表的列的值必须在另一个表中出现。 2#xff09;被参照的表称之为父表#xff08;parent table)#xff0c;创建外键的…什么是外键 1在Oracle数据库中外键是用来实现参照完整性的方法之一。打个形象的比喻外键是指定义外键的表的列的值必须在另一个表中出现。 2被参照的表称之为父表parent table)创建外键的表称之为子表child table)。子表中的外键关联了父表中的主键。 3外键可以在创建表时定义或者通过ALTER TABLE语句创建。
查询数据库所有外键约束
select * from DBA_CONSTRAINTS WHERE CONSTRAINT_TYPE R;关掉所有外键约束
SELECT alter table || t.table_name || disable constraint || t.CONSTRAINT_NAME || ;
FROM USER_CONSTRAINTS t WHERE t.CONSTRAINT_TYPE R;开启所有外键约束
SELECT alter table || t.table_name || enable constraint || t.CONSTRAINT_NAME || ;
FROM DBA_CONSTRAINTS t WHERE t.CONSTRAINT_TYPE R;建表的时候定义外键
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 tb_supplier
(supplier_id number not null,supplier_name varchar2(50) not null,contact_name varchar2(50),CONSTRAINT pk_supplier PRIMARY KEY (supplier_id)
);create table tb_products
(product_id number not null,product_name varchar2(100),supplier_id number not null,constraint fk_products_supplier foreign key (supplier_id) references tb_supplier(supplier_id)
);创建多列外键
create table tb_supplier
(supplier_id number not null,supplier_name varchar2(50) not null,contact_name varchar2(50),CONSTRAINT pk_supplier PRIMARY KEY (supplier_id,supplier_name)
);create table tb_products
(product_id number not null,product_name varchar2(100),supplier_name varchar2(50),supplier_id number not null,constraint fk_products_supplier foreign key (supplier_id,supplier_name) references tb_supplier(supplier_id,supplier_name)
);使用alter命令定义
ALTER TABLE table_name
ADD CONSTRAINT constraint_name
FOREIGN KEY (column1, column2,...column_n)
REFERENCES parent_table (column1,column2,...column_n);