我使用odi11gsdk来读取接口。使用以下代码获取联接集合后:
Collection<Join> joins = dataset.getJoins();
我只能检查集合中的联接是交叉联接、自然联接、左外联接还是右外联接,但在odi工具中,我可以将联接设置为内部联接或完全联接,这是使用sdk无法检测到的。我试图在sdk中搜索其他类或函数,但似乎没有给出这些细节。谁能帮我一下吗。
ej83mcc01#
您需要使用isouter1()和isouter2()。如果它们都返回true,则为完全外部连接。如果它们都返回false,那就是一个内部连接。如果第一个返回true,第二个返回false,则为左外连接如果第一个返回false,第二个返回true,则为右外连接同样,您可以使用setouter1()和setouter2()来更改联接的类型。更多详细信息:https://docs.oracle.com/cd/e28280_01/apirefs.1111/e17060/toc.htm
1条答案
按热度按时间ej83mcc01#
您需要使用isouter1()和isouter2()。
如果它们都返回true,则为完全外部连接。
如果它们都返回false,那就是一个内部连接。
如果第一个返回true,第二个返回false,则为左外连接
如果第一个返回false,第二个返回true,则为右外连接
同样,您可以使用setouter1()和setouter2()来更改联接的类型。更多详细信息:https://docs.oracle.com/cd/e28280_01/apirefs.1111/e17060/toc.htm