当前位置:编程学习 > JAVA >>

利用syscat.references递归查出他的所有关联表

找出所有的父表:
Java代码 
With reftables(reftabname,PRIORITY) as(  
Select reftabname,1 from syscat.references as refx where refx.tabname=PROJECT 
union all  
Select ref2.reftabname,reftables.PRIORITY+1 from reftables,syscat.references ref2 where reftables.reftabname=ref2.tabname  
)  
Select * from reftables ORDER BY PRIORITY DESC; 

With reftables(reftabname,PRIORITY) as(
Select reftabname,1 from syscat.references as refx where refx.tabname=PROJECT
union all
Select ref2.reftabname,reftables.PRIORITY+1 from reftables,syscat.references ref2 where reftables.reftabname=ref2.tabname
)
Select * from reftables ORDER BY PRIORITY DESC;


找出所有的子表
Java代码 
With reftables(tabname,PRIORITY) as(  
Select tabname,1 from syscat.references as refx where refx.reftabname=PROJECT 
union all  
Select ref2.tabname,reftables.PRIORITY+1 from reftables,syscat.references ref2 where reftables.tabname=ref2.reftabname  
)  
Select distinct * from reftables ORDER BY PRIORITY DESC; 

补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,