找出主外键关联的表
2017-05-22 15:02
169 查看
关闭主外键约束
select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||constraint_name||';' from user_constraints WHERE CONSTRAINT_TYPE='R';
启动主外键约束
select 'ALTER TABLE '||TABLE_NAME||' ENABLE NOVALIDATE CONSTRAINT '||constraint_name||';'
from user_constraints WHERE CONSTRAINT_TYPE='R';
NOVALIDATE参数不会验证已存储的数据,但未来再插入的记录则会遵循主外键关联的关系。
查询主外键关联的表
SELECT B.TABLE_NAME, C.COLUMN_NAME,
C.POSITION
FROM USER_CONSTRAINTS A,
USER_CONSTRAINTS B,
USER_CONS_COLUMNS C
WHERE
A.CONSTRAINT_NAME=
B.R_CONSTRAINT_NAME
AND
A.TABLE_NAME = C.TABLE_NAME
AND
A.CONSTRAINT_NAME = C.CONSTRAINT_NAME
AND
A.TABLE_NAME = UPPER('&xTable')
ORDER BY B.TABLE_NAME, C.POSITION;
select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||constraint_name||';' from user_constraints WHERE CONSTRAINT_TYPE='R';
启动主外键约束
select 'ALTER TABLE '||TABLE_NAME||' ENABLE NOVALIDATE CONSTRAINT '||constraint_name||';'
from user_constraints WHERE CONSTRAINT_TYPE='R';
NOVALIDATE参数不会验证已存储的数据,但未来再插入的记录则会遵循主外键关联的关系。
查询主外键关联的表
SELECT B.TABLE_NAME, C.COLUMN_NAME,
C.POSITION
FROM USER_CONSTRAINTS A,
USER_CONSTRAINTS B,
USER_CONS_COLUMNS C
WHERE
A.CONSTRAINT_NAME=
B.R_CONSTRAINT_NAME
AND
A.TABLE_NAME = C.TABLE_NAME
AND
A.CONSTRAINT_NAME = C.CONSTRAINT_NAME
AND
A.TABLE_NAME = UPPER('&xTable')
ORDER BY B.TABLE_NAME, C.POSITION;
相关文章推荐
- 如何找出外键关联表
- T-SQL中找出一个表的所有外键关联表
- 如何找出外键关联表
- 解析MySQL创建外键关联错误 - errno:150
- Hibernate 一对一外键单向关联
- oracle根据外键名查关联的表
- 6.1.2 基于外键的单向1--->1关联
- mysql由于外键关联无法删除数据
- Hibernate 关系映射(三) 基于外键关联的单向 1:1
- hibernate 一对一的外键关联
- Hiberante学习10---基于Annotation配置的一对一双向外键关联
- django 外键关联删除解决
- Hibernate 多对一外键单向关联
- 实现删除主表数据时, 判断与之关联的外键表是否有数据引用, 有标志, 无则删除
- hibernate 一对一外键关联映射_单向
- 删除有外键关联的表sql语句
- Hibernate一对一外键双向关联(Annotation配置篇)
- 删除时判断外键关联的是否有记录
- hibernate学习(7)——一对一双向外键关联
- 通过外键关联获取外键关联的数据的总数量