Oracle视图添加约束,Oracle的约束视图
在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的约束视图相关推荐
- oracle如何添加触发器,Oracle之前插入触发器
本Oracle教程解释了如何在Oracle中创建BEFORE INSERT触发器的语法和示例. BEFORE INSERT触发器意味着Oracle将在执行INSERT操作之前触发此触发器. 语法 在O ...
- android自定义视图添加布局文件,android – 添加自定义视图作为XML布局的视图
方案如下: 我有一个活动RunTrainingWorkoutsView,它使用XML布局_run_workout.xml_,其中一些标签由CountDownTimer更新.工作正常- 现在,除了每秒通 ...
- 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 ...
- oracle游标添加数据,Oracle使用游标更新数据
1. 使用游标修改数据 定义一个游标,游标名称为 mycursor 更新scott用户中emp表中empno为7369的销售额 -- Created on 2015/11/30 by ZHANW de ...
- oracle如何添加undo,ORACLE RAC 11G 添加以及删除UNDO表空间
在生产环境上,由于闪存盘的容量有限,现在需要将闪存盘里面的UNDO表空间,替换到非闪存的磁盘里面. 磁盘的使用情况如下: 表空间使用情况如下: RAC两个节点占用将近167G的空间. 操作步骤如下: ...
- oracle如何添加小数点,Oracle处理保留小数点
一.trunc截取数字,小数位舍去,整数位取0,不进行四舍五入 TRUNC(n1, n2) n1要处理的数字,n2保留的位数(默认是舍弃所有小数位) SELECT TRUNC(123.45) FROM ...
- Oracle comment添加注释
Oracle comment添加注释 Oracle 的 COMMENT 语句可以给一个列.表.视图或快照添加一个最多 2K 字节的注释.注释被存储在数据字典中,并且可以通过数据字典视图 DBA_COL ...
- 视图添加字段_使用ExploreByTouchHelper辅助类为自定义视图添加虚拟视图
在安卓开发过程中,为了视觉和功能的需要开发者经常会使用自定义视图 大多数的自定义视图是组合现有的控件来完成特定的功能 但是,有一种自定义视图是通过画笔在画布上画出自定义的子视图的,例如日期控件,颜色选 ...
- Oracle视图添加约束,Oracle创建视图的语法
Oracle创建视图的语法 导读:就爱阅读网友为大家分享了多篇关于 "oracle 创建序列语法" 资料,内容精辟独到,非常感谢网友的分享,希望从中能找到对您有所帮助的内容. 相关 ...
最新文章
- 设计模式——单例模式(Singleton)
- Python远程操作Oracle实现一键备份还原数据库演示,利用socket进行imp、exp一键导入导出oracle数据库dmp文件
- 安全测试需要关注那些要点
- mysql查看索引创建进度_SQL Server查看索引重建、重组索引进度
- ElasticSearch和solr的对比
- 40张图揭秘,「键入网址发生了什么」
- byte 类型比较_基本类型和包装类对象使用 == 和 equals进行比较的结果?
- Windows 版Oracle 19c 下载安装步骤及细节(Oracle数据库下载)
- jclasslib插件_JClassLib
- jQuery实现form表单reset按钮重置清空表单功能
- 我的世界java版本试玩_我的世界Minecraft Java版17w49a发布
- Lucas-Kanade稀疏光流法
- Raki的读paper小记:OFA: UNIFYING ARCHITECTURES, TASKS, AND MODALITIES THROUGH A SIMPLE Seq2Seq FRAMEWORK
- [2016 NUIST 程序设计竞赛] D. 达朗贝尔的台阶
- 一文看懂企业数据资产目录
- 爬虫——代理IP的高匿、匿名、透明介绍
- 美国J1签证可以免签去哪些国家?
- Idea使用Alibaba Cloud Toolkit实现一键部署项目到linux环境
- HCIE-Routing Switching实验考试延期至2022年12月31日
- 源码阅读之Splitter
热门文章
- R语言构建logistic回归模型并评估模型:模型预测结果抽样、可视化模型分类预测的概率分布情况、使用WVPlots包绘制ROC曲线并计算AUC值
- pandas使用replace函数替换dataframe中的值:replace函数使用正则表达式对dataframe中的值进行替换
- cufflinks基于QuantFig绘制高级金融图
- NLP语义标注模型数据准备及实战
- 集成学习模型(xgboost、lightgbm、catboost)进行回归预测构建实战:异常数据处理、缺失值处理、数据重采样resample、独热编码、预测特征检查、特征可视化、预测结构可视化、模型
- 使用pandas correlation函数批量删除相关性冗余特征、实现特征筛选(feature selection)
- 5s的app显示无法连接服务器,苹果5s无法连接app store解决方法汇总
- mysql数据库目标库_修改mysql数据库的库名
- tensorflow 的输入层和输出层维度注意事项
- python 人脸检测