Links

MSCEWI1061

Column does not come from a Non-Ansi Outer Join Expression
This EWI will be deprecated in the future.

Severity

Low

Description

Snowflake does not support using Non-Ansi Outer Join syntax in a column from a table that was not previously used in a Non-Ansi outer join expression.

Example Code

Input Code (Oracle):

SELECT * FROM
EMPLOYEE e, PRODUCT p WHERE
e.id = p.eid AND
e.name(+) IN ('US', 'CANADA');

Output Code:

SELECT *
/*** MSC-WARNING - MSCEWI3081 - SNOWFLAKE NON-ANSI OUTER JOIN SYNTAX HAS SOME FUNCTIONAL DIFFERENCES COMPARED TO ORACLE. IT COULD CAUSE COMPILATION ERRORS ***/
FROM PUBLIC.EMPLOYEE e, PUBLIC.PRODUCT p WHERE
e.id = p.eid AND
e.name(+) IN ('US', 'CANADA') /*** MSC-WARNING - MSCEWI1061 - COLUMN DOES NOT COME FROM A NON-ANSI OUTER JOIN EXPRESSION. IT MAY CAUSE A COMPILATION ERROR ***/;
Table "e" was not used previously used in a join.

Recommendations

  • Rewrite the statement using ANSI Outer Join syntax.
  • If you need more support, you can email us at [email protected]