在Oracle中插入数据时,可能由于不符合约束而无法插入成功。

将报类似于如下的错误信息:

SQL Error: ORA-02291: 违反完整约束条件 (TEST.FK_KB_TEST_ID) - 未找到父项关键字

02291. 00000 - "integrity constraint (%s.%s) violated - parent key not found"

*Cause: A foreign key value has no matching primary key value.

*Action: Delete the foreign key or add a matching primary key.

这时可以通过错误信息中的约束名FK_KB_TEST_ID查看约束规则:

select * from user_constraints where constraint_name = upper('FK_KB_TEST_ID');

执行后显示有如下列的信息:

OWNER:当前约束的所有者;

CONSTRAINT_NAME:约束名称,如果用户没有定义该约束名称,将自动产生一个唯一的名称,形如SYS_C00107267,条件约束不能自定义名字。

CONSTRAINT_TYPE:约束类型

C (check constraint on a table)条件约束

P (primary key)主键约束

U (unique key)唯一性约束

R (referential integrity)外键约束

V  (with check option, on a view)作用于视图的with check option约束

O (with read only, on a view)作用于视图的with read only约束

H (Hash expression)

F  (Constraint that involves a REF column)

S  (Supplemental logging)

TABLE_NAME:约束作用于哪张表上

SEARCH_CONDITION:约束内容,注意:该字段类型为long,不是varchar。

R_OWNER:约束类型是R时,R_OWNER指外键指向的表的所有者

R_CONSTRAINT_NAME:约束类型是R时,指被关联的约束名

DELETE_RULE:

STATUS:此前约束的状态,ENABLED 或者 DISABLED

DEFERRABLE:约束的验证机制类型,not deferrable或者deferrable,为deferrable时,constraints可以在事务中相互转换deferred和imediate两种状态

DEFERRED:当验证机制类型为deferrable,可为IMMEDIATE或者deferred;为not deferrable时,为immediate

VALIDATED:novalidate, validate表示是否对当前已存在的数据做约束检查,如果为validate但当前有数据不符合此约束时,创建约束失败

GENERATED:当前约束名是由谁命名,GENERATED NAME即由系统自动生成,User Name即由用户定义生成

RELY:可以在check 后添加 rely disable,将rely项设置为值"rely",表示所有数据一定满足check条件,不需要再执行此项检查,以节省成本提高效率。这种情况下,status值为disabled

LAST_CHANGE:最后一次修改的日期

INDEX_OWNER:如果当前约束为主键约束,则index_owner指向主键约束对应的索引的所有者

index_name:唯一性索引的名字

INVALID:

VIEW_RELATED:

查看约束的三个视图:

user_constraints:含当前用户schema中含有的约束信息

all_constraints:当前用户可以被授权查看的所有约束信息

dba_constraints:当前数据库中所有的约束信息

利用这些视图,可以用来查看某个表被关联的状况:

select a.constraint_name as 外键, a.table_name as 引用表, b.constraint_name as 主键,b.table_name as 被引用表

from user_constraints a, user_constraints b

where a.constraint_type = 'R'

and b.constraint_type = 'P'

and a.r_constraint_name = b.constraint_name

and b.table_name = upper('TEST')

Oracle视图添加约束,Oracle的约束视图相关推荐

  1. oracle如何添加触发器,Oracle之前插入触发器

    本Oracle教程解释了如何在Oracle中创建BEFORE INSERT触发器的语法和示例. BEFORE INSERT触发器意味着Oracle将在执行INSERT操作之前触发此触发器. 语法 在O ...

  2. android自定义视图添加布局文件,android – 添加自定义视图作为XML布局的视图

    方案如下: 我有一个活动RunTrainingWorkoutsView,它使用XML布局_run_workout.xml_,其中一些标签由CountDownTimer更新.工作正常- 现在,除了每秒通 ...

  3. oracle rac添加用户组,oracle 11g rac 与 oracle 10 rac所需要建立的组和用户

    oracle 11g rac配置 1. Create OS groups using the command below. Enter these commands as the 'root' use ...

  4. oracle游标添加数据,Oracle使用游标更新数据

    1. 使用游标修改数据 定义一个游标,游标名称为 mycursor 更新scott用户中emp表中empno为7369的销售额 -- Created on 2015/11/30 by ZHANW de ...

  5. oracle如何添加undo,ORACLE RAC 11G 添加以及删除UNDO表空间

    在生产环境上,由于闪存盘的容量有限,现在需要将闪存盘里面的UNDO表空间,替换到非闪存的磁盘里面. 磁盘的使用情况如下: 表空间使用情况如下: RAC两个节点占用将近167G的空间. 操作步骤如下: ...

  6. oracle如何添加小数点,Oracle处理保留小数点

    一.trunc截取数字,小数位舍去,整数位取0,不进行四舍五入 TRUNC(n1, n2) n1要处理的数字,n2保留的位数(默认是舍弃所有小数位) SELECT TRUNC(123.45) FROM ...

  7. Oracle comment添加注释

    Oracle comment添加注释 Oracle 的 COMMENT 语句可以给一个列.表.视图或快照添加一个最多 2K 字节的注释.注释被存储在数据字典中,并且可以通过数据字典视图 DBA_COL ...

  8. 视图添加字段_使用ExploreByTouchHelper辅助类为自定义视图添加虚拟视图

    在安卓开发过程中,为了视觉和功能的需要开发者经常会使用自定义视图 大多数的自定义视图是组合现有的控件来完成特定的功能 但是,有一种自定义视图是通过画笔在画布上画出自定义的子视图的,例如日期控件,颜色选 ...

  9. Oracle视图添加约束,Oracle创建视图的语法

    Oracle创建视图的语法 导读:就爱阅读网友为大家分享了多篇关于 "oracle 创建序列语法" 资料,内容精辟独到,非常感谢网友的分享,希望从中能找到对您有所帮助的内容. 相关 ...

最新文章

  1. 设计模式——单例模式(Singleton)
  2. Python远程操作Oracle实现一键备份还原数据库演示,利用socket进行imp、exp一键导入导出oracle数据库dmp文件
  3. 安全测试需要关注那些要点
  4. mysql查看索引创建进度_SQL Server查看索引重建、重组索引进度
  5. ElasticSearch和solr的对比
  6. 40张图揭秘,「键入网址发生了什么」
  7. byte 类型比较_基本类型和包装类对象使用 == 和 equals进行比较的结果?
  8. Windows 版Oracle 19c 下载安装步骤及细节(Oracle数据库下载)
  9. jclasslib插件_JClassLib
  10. jQuery实现form表单reset按钮重置清空表单功能
  11. 我的世界java版本试玩_我的世界Minecraft Java版17w49a发布
  12. Lucas-Kanade稀疏光流法
  13. Raki的读paper小记:OFA: UNIFYING ARCHITECTURES, TASKS, AND MODALITIES THROUGH A SIMPLE Seq2Seq FRAMEWORK
  14. [2016 NUIST 程序设计竞赛] D. 达朗贝尔的台阶
  15. 一文看懂企业数据资产目录
  16. 爬虫——代理IP的高匿、匿名、透明介绍
  17. 美国J1签证可以免签去哪些国家?
  18. Idea使用Alibaba Cloud Toolkit实现一键部署项目到linux环境
  19. HCIE-Routing Switching实验考试延期至2022年12月31日
  20. 源码阅读之Splitter

热门文章

  1. R语言构建logistic回归模型并评估模型:模型预测结果抽样、可视化模型分类预测的概率分布情况、使用WVPlots包绘制ROC曲线并计算AUC值
  2. pandas使用replace函数替换dataframe中的值:replace函数使用正则表达式对dataframe中的值进行替换
  3. cufflinks基于QuantFig绘制高级金融图
  4. NLP语义标注模型数据准备及实战
  5. 集成学习模型(xgboost、lightgbm、catboost)进行回归预测构建实战:异常数据处理、缺失值处理、数据重采样resample、独热编码、预测特征检查、特征可视化、预测结构可视化、模型
  6. 使用pandas correlation函数批量删除相关性冗余特征、实现特征筛选(feature selection)
  7. 5s的app显示无法连接服务器,苹果5s无法连接app store解决方法汇总
  8. mysql数据库目标库_修改mysql数据库的库名
  9. tensorflow 的输入层和输出层维度注意事项
  10. python 人脸检测