将联接从Oracle转换为ANSI表示法时Toad中存在错误?

将联接从Oracle转换为ANSI表示法时Toad中存在错误?,oracle,toad,Oracle,Toad,使用Toad将以旧Oracle表示法编写的外部联接为特征的查询转换为ANSI表示法时,我遇到了一个问题: 如果我这样写: select AGENTS.AG_AGCLE, AGENTS.AG_NOM, S01_SERVICES.SE_CODE, S01_DEPART.DP_CODE, S01_DEPART.DP_NOM, CONGES.CG_CPANT, S01_PERSO.PE_TEMPSW, MEDWORK.MK_VILLE, MEDWORK.MK_DOCTORNAME

使用Toad将以旧Oracle表示法编写的外部联接为特征的查询转换为ANSI表示法时,我遇到了一个问题:

如果我这样写:

select AGENTS.AG_AGCLE, AGENTS.AG_NOM, S01_SERVICES.SE_CODE, 
    S01_DEPART.DP_CODE, S01_DEPART.DP_NOM, CONGES.CG_CPANT, 
    S01_PERSO.PE_TEMPSW, MEDWORK.MK_VILLE, MEDWORK.MK_DOCTORNAME 
from S01_PERSO,S01_SERVICES,S01_DEPART,AGENTS,CONGES,MEDWORK 
where SE_DPCLE=DP_DPCLE 
and SE_SECLE=PE_SECLE 
and PE_AGCLE=AG_AGCLE 
and AG_AGCLE=CG_AGCLE(+) 
and AG_MKCLE=MK_MKCLE(+)
and PE_PECLE=25;
蟾蜍将其转换为此,这是正确的:

SELECT AG_AGCLE, AG_NOM, SE_CODE, DP_CODE, DP_NOM, CG_CPANT, PE_TEMPSW, 
    MK_VILLE, MK_DOCTORNAME
FROM S01_PERSO
INNER JOIN AGENTS ON (PE_AGCLE = AG_AGCLE)
INNER JOIN S01_SERVICES ON (SE_SECLE = PE_SECLE)
INNER JOIN S01_DEPART ON (SE_DPCLE = DP_DPCLE)
LEFT OUTER JOIN CONGES ON (AG_AGCLE = CG_AGCLE)
LEFT OUTER JOIN MEDWORK ON (AG_MKCLE = MK_MKCLE)
WHERE PE_PECLE = 25;
但是如果我这样写,这是同一个查询(我只是反过来写了一个连接条件):

蟾蜍将其转换为:

SELECT AG_AGCLE, AG_NOM, SE_CODE, DP_CODE, DP_NOM, CG_CPANT, PE_TEMPSW, 
    MK_VILLE, MK_DOCTORNAME
FROM S01_PERSO
INNER JOIN AGENTS ON (PE_AGCLE = AG_AGCLE)
INNER JOIN S01_SERVICES ON (SE_SECLE = PE_SECLE)
INNER JOIN S01_DEPART ON (SE_DPCLE = DP_DPCLE)
LEFT OUTER JOIN MEDWORK ON (AG_MKCLE = MK_MKCLE)
RIGHT OUTER JOIN CONGES ON (CG_AGCLE = AG_AGCLE)
WHERE PE_PECLE = 25;
我在网上搜索了这个问题,但什么也没找到,有没有其他人遇到过这个问题?这是一个错误,还是我遗漏了什么


我正在使用Toad for Oracle免费软件12.10.0.30,64位Windows 7 64位。

更新:Toad开发团队已确认它是一个bug,补丁将在版本12.11中发布:)更新:Toad开发团队已确认它是一个bug,补丁将在版本12.11中发布:)
SELECT AG_AGCLE, AG_NOM, SE_CODE, DP_CODE, DP_NOM, CG_CPANT, PE_TEMPSW, 
    MK_VILLE, MK_DOCTORNAME
FROM S01_PERSO
INNER JOIN AGENTS ON (PE_AGCLE = AG_AGCLE)
INNER JOIN S01_SERVICES ON (SE_SECLE = PE_SECLE)
INNER JOIN S01_DEPART ON (SE_DPCLE = DP_DPCLE)
LEFT OUTER JOIN MEDWORK ON (AG_MKCLE = MK_MKCLE)
RIGHT OUTER JOIN CONGES ON (CG_AGCLE = AG_AGCLE)
WHERE PE_PECLE = 25;