oracle 找出主键被哪些表的字段作为外键来使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wyljz/article/details/81559657

表t_sjzxj_dbitem中的字段id,被其他表作为外键,现有个需求在删除t_sjzx_dbitem中的记录时,将其关联的记录一并删除,先用sql找出id被哪些表的哪个字段做了外键关联,然后再将关联的记录一起删除。

select c.TABLE_NAME tablename,c.constraint_name foreignname,u.column_name columnname
from all_constraints p, all_constraints c,user_cons_columns u
where p.table_name = 'T_SJZX_DBITEM'
and p.OWNER = SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA')
and c.OWNER=SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA')
and c.constraint_type = 'R'
and c.CONSTRAINT_NAME=u.constraint_name
and p.CONSTRAINT_NAME = c.R_CONSTRAINT_NAME

表名需用大写字母才可以查到

猜你喜欢

转载自blog.csdn.net/wyljz/article/details/81559657