可视化SQL(Oracle)级联删除树

时间:2014-02-17 14:10:13

标签: sql oracle oracle11g oracle-sqldeveloper

我想想象(不一定要花哨)我正在分析的数据库的级联删除路径/树。我在查看删除特定表中的单行时所采用的路径时遇到了问题。

我正在寻找的解决方案与Tool to visualize SQL Cascade tree类似,但后来与Oracle数据库类似。

有没有人知道一个好的工具或脚本来帮我解决这个问题?

我目前正在使用SQL Developer,所以如果该工具中有解决方案,我会很高兴听到它......

1 个答案:

答案 0 :(得分:0)

也许您可以使用ER图来查看FK如何与您开始的表以及级联表等相关联。

虽然我使用SQL Dev但我必须实际搜索此选项,与其他IDE相比,它非常隐藏。

文件→数据建模器→导入→数据字典→选择数据库连接

编辑:

SELECT   uc.constraint_name||CHR(10)
||      '('||ucc1.TABLE_NAME||'.'||ucc1.column_name||')' constraint_source
,       'REFERENCES'||CHR(10)
||      '('||ucc2.TABLE_NAME||'.'||ucc2.column_name||')' references_column
FROM     dba_constraints uc
,        dba_cons_columns ucc1
,        dba_cons_columns ucc2
WHERE    uc.constraint_name = ucc1.constraint_name
AND      uc.r_constraint_name = ucc2.constraint_name
AND      ucc1.POSITION = ucc2.POSITION -- Correction for multiple column primary keys.
AND      uc.constraint_type = 'R'
AND      uc.delete_rule = 'CASCADE'
ORDER BY ucc1.TABLE_NAME
,        uc.constraint_name;

来源: - http://blog.mclaughlinsoftware.com/2009/03/05/validating-foreign-keys/ -Myself