Я пытаюсь отобразить все дочерние элементы и отношения внешнего ключа в базе данных, с которой я работаю (> 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;