找出主外键关联的表

来源:互联网 发布:棋牌游戏作弊软件 编辑:程序博客网 时间:2024/05/29 08:43

关闭主外键约束

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;

原创粉丝点击