db2递归查询连接方式

时间:2018-09-25 17:09:55

标签: sql db2 recursive-query

我正在尝试翻译Oracle查询

选择名称 来自emp 以name ='Goyal'开头 按优先级连接empid = mgrid

由于意外令牌连接而出错。

3 个答案:

答案 0 :(得分:1)

要查找对对象的依赖关系,可以尝试DBMS_UTILITY.GET_DEPENDENCY

https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.apdv.sqlpl.doc/doc/r0055165.html

如果您仅对表依赖关系感兴趣(但对于所有表),这只是网络https://datageek.blog/2015/05/07/db2-administrative-sql-cookbook-identifying-dependent-mqts-and-views/上的众多示例之一

答案 1 :(得分:1)

这仅在启用ORACLE兼容性时才有效。进行如下设置,然后重新运行查询:

$ db2set DB2_COMPATIBILITY_VECTOR=08
$ db2stop
$ db2start

答案 2 :(得分:0)

您的Db2数据库是否以Oracle兼容模式创建?否则,您将不会启用CONNECT BY支持。您可以通过设置兼容性矢量的适当位来独立于Oracle的全面支持来启用CONNECT BYhttps://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.db2.luw.apdv.porting.doc/doc/r0052877.html

顺便说一句,您应该使用SYSCAT目录视图而不是SYSIBM目录视图 DB2 Query to retrieve all table names for a given schema