MSCEWI3088

Condition with unknown table name for outer join with (+)

This is a deprecated version of the SnowConvert documentation, please visit the official site HERE.

Severity

Low

Description

This issue happens when there is an OUTER JOIN with the (+) operator but a column expression does not have the name of the table and SnowConvert is not able to figure out to which table it corresponds to.

Example Code

Input Code:

SELECT
r.region_id, r.region_name,
c.country_id, c.country_name
FROM 
hr.countries c,  hr.regions r WHERE  
region_id (+) = r.region_id;

Output Code:

SELECT
r.region_id, r.region_name,
c.country_id, c.country_name
/*** MSC-WARNING - MSCEWI3081 - SNOWFLAKE NON-ANSI OUTER JOIN SYNTAX HAS SOME FUNCTIONAL DIFFERENCES COMPARED TO ORACLE. IT COULD CAUSE COMPILATION ERRORS ***/
FROM hr.countries c, hr.regions r WHERE
region_id (+) = r.region_id /*** MSC-WARNING - MSCEWI3088 - CONDITION WITH UNKNOWN TABLE FOR OUTER JOIN WITH (+). FAILED TO CONVERT OUTER JOIN ***/;

Recommendations

  • Qualify the name of each column in the WHERE clause with the name of the table or table alias and migrate again the code.

  • If you need more support, you can email us at snowconvert-support@snowflake.com

Last updated