iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >怎么理解oracle外键约束
  • 825
分享到

怎么理解oracle外键约束

2024-04-02 19:04:59 825人浏览 薄情痞子
摘要

这期内容当中小编将会给大家带来有关怎么理解oracle外键约束,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 外键约束的创建方法tes1的建表

这期内容当中小编将会给大家带来有关怎么理解oracle外键约束,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

外键约束的创建方法
tes1的建表语句为create table test1 (hid number primary key,hname varchar2(10));
1、创建表的同时创建外键约束
1.1、列级别
create table test2 (hid1 number(10) REFERENCES test1(hid),hname1 varchar2(10));--系统自动生成约束名
create table test2 (hid1 number(10) constraint hid_pk REFERENCES test1(hid),hname1 varchar2(10));
1.2、表级别
create table test2 (hid1 number(10) ,hname1 varchar2(10),foreign key (hid1) REFERENCES test1(hid));--系统自动生成约束名
create table test2 (hid1 number(10) ,hname1 varchar2(10),constraint hid_pk foreign key (hid1) REFERENCES test1(hid));

2、表创建后再创建外键约束
ALTER TABLE test2 ADD  FOREIGN KEY (hid1)  REFERENCES test1 (hid);--系统自动生成约束名
ALTER TABLE test2 ADD CONSTRAINT hid_pk FOREIGN KEY (hid1)  REFERENCES test1 (hid);



子表操作会遇到的报错
不能修改值为父表不存在的记录
不能插入父表不存在的记录
create table test1 (hid number primary key,hname varchar2(10));
create table test2 (hid1 number(10) constraint hid_pk REFERENCES test1(hid),hname1 varchar2(10));
insert into test1 values(1,'1');
insert into test2 values(1,'100');
update test2 set hid1=2 where hid1=1;--报错ORA-02291: 违反完整约束条件 (HR.HID_PK) - 未找到父项关键字
insert into test2 values(2,'100');--报错ORA-02291: 违反完整约束条件 (HR.HID_PK) - 未找到父项关键字
drop table test2;
drop table test1;


父表操作遇到的报错
create table test1 (hid number primary key,hname varchar2(10));
create table test2 (hid1 number(10) constraint hid_pk REFERENCES test1(hid),hname1 varchar2(10));
insert into test1 values(1,'1');
insert into test2 values(1,'100');
delete from test1;--报错ORA-02292: 违反完整约束条件 (HR.HID_PK) - 已找到子记录
truncate table test1;--报错ORA-02266: 表中的唯一/主键被启用的外键引用
drop table test1;--报错ORA-02449: 表中的唯一/主键被外键引用
update test1 set hid=2 where hid=1;--报错ORA-02292: 违反完整约束条件 (HR.HID_PK) - 已找到子记录

create table test1 (hid number primary key,hname varchar2(10));
create table test2 (hid1 number(10) constraint hid_pk REFERENCES test1(hid),hname1 varchar2(10));
insert into test1 values(1,'1');
truncate table test1;
drop table test1;--报错ORA-02266: 表中的唯一/主键被启用的外键引用

create table test1 (hid number primary key,hname varchar2(10));
create table test2 (hid1 number(10) constraint hid_pk REFERENCES test1(hid),hname1 varchar2(10));
drop table test1;--报错ORA-02266: 表中的唯一/主键被启用的外键引用


delete报错的解决方法
解决方法1
delete from test2;
delete from test1;

解决方法2(不保留子表记录)
alter table test2 drop constraint hid_pk;
ALTER TABLE test2 ADD CONSTRAINT hid_pk FOREIGN KEY (hid1)  REFERENCES test1 (hid) ON DELETE CASCADE;
delete from test1;

解决方法3(保留子表记录,但是字表对应字段值变成null,如下test2的hid1为null了)
alter table test2 drop constraint hid_pk;
ALTER TABLE test2 ADD CONSTRAINT hid_pk FOREIGN KEY (hid1)  REFERENCES test1 (hid) ON DELETE SET NULL;
delete from test1;


truncate报错的解决方法
drop table test2;
truncate table test1;

alter table test1 disable primary key cascade;
truncate table test1;

alter table test1 disable primary key cascade;
truncate table test2;
truncate table test1;

采用如下一样会报错
truncate table test2;
truncate table test1;--继续报错ORA-02266: 表中的唯一/主键被启用的外键引用


drop报错的解决方法
drop table test1 cascade constraints;

drop table test2;
drop table test1;

采用如下一样会报错
alter table test1 disable primary key cascade;
truncate table test2;
drop table test1;

上述就是小编为大家分享的怎么理解oracle外键约束了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: 怎么理解oracle外键约束

本文链接: https://www.lsjlt.com/news/68023.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么理解oracle外键约束
    这期内容当中小编将会给大家带来有关怎么理解oracle外键约束,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 外键约束的创建方法tes1的建表...
    99+
    2024-04-02
  • MySQL主键约束和外键约束详解
    目录1、PRIMARY KEY2、FOREIGN KEY3、表的设计3.1 一对一3.2 一对多3.3 多对多1、PRIMARY KEY 上期我们讲述了 not null 和 unique 约束,而本期的第一个约束就是这...
    99+
    2023-03-13
    mysql主键约束和外键约束 mysql主键和外键
  • oracle怎么创建表外键约束
    要在Oracle数据库中创建表外键约束,可以使用以下语法: ALTER TABLE child_table ADD CONSTRAI...
    99+
    2024-03-13
    oracle
  • 【MySQL】主键约束和外键约束
    目录 1、PRIMARY KEY 2、FOREIGN KEY 3、表的设计 3.1 一对一 3.2 一对多 3.3 多对多 1、PRIMARY KEY 上期我们讲述了 not null 和 unique 约束,而本期的第一个约束就...
    99+
    2023-09-01
    mysql 数据库
  • MySQL主键约束和外键约束怎么设置
    这篇“MySQL主键约束和外键约束怎么设置”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“M...
    99+
    2023-03-13
    mysql
  • oracle怎么禁用所有外键约束
    要禁用所有外键约束,可以使用以下SQL语句: ALTER TABLE table_name DISABLE ALL CONSTRAI...
    99+
    2024-03-13
    oracle
  • Mysql05——外键约束
    MySQL外键约束 一、MySQL外键约束作用 外键约束(Foreign Key)即数据库中两个数据表之间的某个列建立的一种联系。这种联系通常是以实际场景中含义完全相同的字段所造成的。MySQL通过外键约束的引入,可以使得数据表中的数据完整...
    99+
    2023-12-23
    mysql 数据库
  • oracle如何禁用外键约束
    要禁用Oracle数据库中的外键约束,可以使用以下两种方法:方法一:使用ALTER TABLE语句1. 使用sys用户或具有ALTE...
    99+
    2023-09-01
    oracle
  • SQL语句 -非空约束 - 唯一约束 - 主键约束 - 默认约束 -外键约束
    文章目录 约束约束介绍和分类非空约束唯一约束主键约束默认约束案例练习外键约束 约束 约束介绍和分类 约束的概念: 约束是作用于表中列上的规则,用于限制加入表的数据 约束的存在保证了数据库中数据的正确性、有效性和完整性 ...
    99+
    2023-08-17
    sql 数据库 mysql
  • mysql外键约束怎么设置
    要设置MySQL中的外键约束,您需要按照以下步骤进行操作:1. 在创建表时,使用FOREIGN KEY关键字来定义外键约束。语法如下...
    99+
    2023-10-21
    mysql
  • sql怎么创建外键约束
    在SQL中,可以使用以下语法来创建外键约束:1. 在创建表时添加外键约束:```CREATE TABLE 表名 (   &...
    99+
    2023-09-28
    SQL
  • MySQL怎么添加外键约束
    MySQL中添加外键约束的方法如下所示:1. 创建表时添加外键约束:```sqlCREATE TABLE 表名 (列名 数据类型,....
    99+
    2023-10-12
    MySQL
  • mysql怎么禁用外键约束
    在MySQL中,可以通过以下步骤来禁用外键约束: 进入MySQL命令行工具或者MySQL管理工具,连接到要禁用外键约束的数据库。 ...
    99+
    2024-03-14
    mysql
  • navicat怎么设置外键约束
    要在Navicat中设置外键约束,可以按照以下步骤进行操作:1. 打开Navicat并连接到数据库。2. 在数据库树中选择表,然后右...
    99+
    2023-08-30
    navicat
  • mysql怎么删除外键约束
    在MySQL中,可以使用`ALTER TABLE`语句来删除外键约束。具体步骤如下:1. 确定要删除外键约束的表名和约束名称。2. ...
    99+
    2023-08-31
    mysql
  • sql怎么设置外键约束
    在 SQL 中设置外键约束可以通过以下步骤: 1、创建表时指定外键约束:在创建表的时候,可以使用 FOREIGN KEY 关键字来指...
    99+
    2024-03-13
    sql
  • phpmyadmin怎么添加外键约束
    在 phpmyadmin 中添加外键约束的步骤:准备外键和主表。右键单击外键表,选择“设计视图”。找到外键字段,并切换到“选择属性”选项卡。勾选“外键”复选框,选择主表和主字段。保存更改...
    99+
    2024-04-08
    phpmyadmin
  • PostgreSQL约束中外键怎么操作
    这篇文章主要介绍PostgreSQL约束中外键怎么操作,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!外键约束在实际PostgreSQL操作中很少使用,但外键的作用中也不会出现冗余数据。带有外键的表依赖于被引用的表。受...
    99+
    2023-06-14
  • mysql建表外键约束怎么写
    mysql外键约束语法为:alter table child_table add foreign key (foreign_key_column) references parent_t...
    99+
    2024-04-22
    mysql
  • oracle怎么创建主键约束
    要在Oracle数据库中创建主键约束,可以使用以下语法: ALTER TABLE table_name ADD CONSTRAINT...
    99+
    2024-04-09
    oracle
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作