Отображение отношения дочерних и дочерних ключей внешнего ключа для всех таблиц - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь отобразить все дочерние элементы и отношения внешнего ключа в базе данных, с которой я работаю (> 300 баз данных), и наткнулся на этот SQL-запрос, который может мне помочь.

https://www.ibm.com/developerworks/data/library/techarticle/dm-1301foreignkey/index.html

Я скопировал его прямо с сайта выше, но он не смог скомпилировать и дал мне ошибки:

Код ошибки 104, 727

Error: DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=prior;_parents)
connect by;PRIOR, DRIVER=4.15.113
SQLState:  42601
ErrorCode: -104
Error: DB2 SQL Error: SQLCODE=-727, SQLSTATE=56098,     SQLERRMC=2;-104;42601;prior|_parents)
connect by|PRIOR, DRIVER=4.15.113
SQLState:  56098
ErrorCode: -727

Можно мне помочь?Спасибо.

with root_parents (root_parent_schema, root_parent_name) AS
 (select tabschema, tabname
    from syscat.tables
    where parents = 0 and children > 0)
select 
  substr(connect_by_root reftabname,1,11) as root,
  substr(level, 1,5) as lvl,
  substr(reftabname) as parent, 
  substr(tabname,1,10) as child, 
  substr(constname,1,5) as cnst, 
  substr(sys_connect_by_path(reftabname, '->') || '->' || 
  substr(tabname,1,20),1,42) as chain
from syscat.references
start with (reftabschema,reftabname) in (select root_parent_schema, 
                                    root_parent_name from root_parents)
connect by prior  tabname = reftabname and tabschema = reftabschema;
...