Navicat for Oracle中如何使用外键

转自:https://blog.csdn.net/weixin_39183543/article/details/80555104

1. 外键名最后保存的时候自动生成;

2. 参考模式自动生成;

3.参考表即外键表。 选中参考表,参考限制自动提示;

4.参考栏位为外键表的关联字段;

4.栏位为当前表的关联字段; 启用。

5.删除时:下拉列表定义采取行动的类型。

No Action:默认无动作。参考键值将不会更新或删除。

CASCADE:级联-,分别删除任何参考已删除的行,或更新参考列为被参考的新值。

SET NULL:为空,设置参考列为 null。

原文地址:https://www.cnblogs.com/sharpest/p/10166646.html

时间: 2024-10-14 14:49:02

Navicat for Oracle中如何使用外键的相关文章

oracle中查询所有外键引用到某张表的记录

其实查找这篇文章  我主要用的sql 是这句  select * from user_cons_columns t where t.constraint_name like 'FK_CTS_CONT_REINS__CRR'; 起因: 系统测试的时候发现如果某条记录已经被引用了,这个时候删除这条记录会引起数据不一致,系统会报错.比如警员信息,在考勤记录表里会引用警员ID,如果考勤记录表中已经存在这个警员ID了,这时从警员表中删除该警员,就会引起数据不一致,前台报错.所以,这个时候我就想查找数据库中

Oracle存储过程update受外键约束的主键值时完整性冲突解决方案

1.问题背景 虽然在数据库操作中我们并不提倡修改主键,但是确实在实际生活中有这样的业务需求: 表A有主键KA,表B中声明了一个references A(KA)的外键约束,我们需要修改A中某条目KA的值并且更新B中外键约束. 但是DBMS在执行了第一条update后检查完整性会发现冲突:B中条目的外键不存在. 注:我在Oracle database环境下遇到这个问题的,Oracle很蛋疼的不能设置外键为update级连,所以只有人工处理. 2.举例说明 用一个简单的例子说明,数据库中有以下三个表:

django 中新添加外键后一直报错

在模型中添加了外键,然后一直显示**_id无数值 原因在于在model中新添加字段,没有写进数据库 正确操作为: 首先,进入开发环境(也就是说,不是在发布环境里): 1.在你的模型里添加字段. 2.运行 manage.py sqlall [yourapp] 来测试模型新的 CREATE TABLE 语句. 注意为新字段的列定义. 3.开启你的数据库的交互命令界面(比如, psql 或mysql , 或者可以使用 manage.py dbshell ). 执行 ALTER TABLE 语句来添加新

关?于?h?i?b?e?r?n?a?t?e?中?双?向?外?键?关?联?o?n?e?-?t?o?-?o?n?e?的?p?r?o?p?e?r?t?y?-?r?e?f?=?的?问?题(转)

大家都知道hibernate中的one-to-one映射主要有两种策略,(1)一对一主键关联(单向和双向).(2)一对一外键映射(单项和双向).本文主要讲解一下,一对一外键映射中的双向问题,在此前先通过一个实例了解. person和idCard,是一种一对一的关系,其中   t_person表 id        name       idCard(unique) 1         张三 2         王五       1 其中王五是没有idcard,这也符合现实中的,有些人是没有身份证

oracle主从表主外键对应关系

一.首先让我们来了解下什么是主外键? 1.主键:唯一标识数据表中的某一行 1) 一个表中只能有一个主键.如果在其他字段上建立主键,则原来的主键就会取消.在ACCESS中,虽然主键不是必需的,但最好为每个表都设置一个主键. 2)主键的值不可重复,也不可为空(NULL).主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义. 3)主键的创建:在建置新表格时设定主键的方式 MySQL:  CREATE TABLE Customer (SID integer,La

oracle中如何设置主键并且让其自动增长

由于oracle中是没有自动增长的的,需要自己去进行写触发器等方式去进行设置: 找了一下他人写的,有两种方法可以设置主键,一种是自增长主键,另一种就是生成唯一序列. 一.自增长主键 我创建一个用户的信息表 -- Create tablecreate table USERINFO( USERNO NUMBER not null, USERNAME NVARCHAR2(20), USERPWD NVARCHAR2(20))tablespace MYPRODUCT pctfree 10 initran

django中的数据库外键操作

以MYSQL为例: (1)在model中定义两个数据表,食物信息和食物类别信息 class foodInfo(models.Model): food_id = models.AutoField(max_length=4)   #自定义主键,不指定主键默认会生成一个名为'ID'列的主键 food_name = models.CharField(max_length=10) food_content = models.CharField(max_length=100) food_price = mo

python django中的orm外键级联删除

今天添加了一个路由表,路由表做外键,然后添加了几个组,路由表为组的外键,当我使用删除功能对路由表进行删除时,竞然将我的组也相当的删除了:尽管这是测试,但放到生产环境中还是会发生意外的:这个问题要解决: 在网上查了一下资料,问题主要是django orm的field字段有关: routemgr = models.ForeignKey('Routemgr',default=1,blank=True,null=True,on_delete=models.SET_NULL) 主要意思就是把Routemg

数据库设计的过程中的设置外键的作用

转自“https://zhidao.baidu.com/question/445274717.html” 表A中有字段(如身份证号)做了主键,表B中也有这个字段(身份证号),这里的身份证号一定来自表A同样字段里的内容,那么表B的这个字段就叫表A字段的外键,也就是两个表以身份证号这个字段建立了联系. 表A中身份证号字段里面的身份证号一定是唯一的,不能有重复,而表B里面的同一个身份证号可以出现多次.这称为表A身份证号字段与表B身份证号字段建立了一对多的关系. 外键的作用就是可以让身份证号保证是来自表