Как использовать объединения на Pro * C 10g? - PullRequest
1 голос
/ 15 июля 2010

При использовании внутреннего соединения в Pro * CI появляется следующая ошибка:

PCC-S-02201, Encountered the symbol "inner" when expecting one of the following:

Я только что использовал простое внутреннее соединение.Когда я искал решение, мне сказали, что 10g не поддерживает такого рода синтаксис, и я должен вместо этого использовать динамический SQL.Это правда?Как добиться внутреннего объединения с использованием динамического SQL?

Ответы [ 2 ]

1 голос
/ 15 июля 2010

Pro C Версия 10g не допускает внутренних / внешних соединений.Если вы хотите иметь их, вам нужно будет обновить компилятор Pro C.
Если вы используете 11g, вы можете использовать предложенное здесь решение: http://forums.oracle.com/forums/thread.jspa?threadID=665519

0 голосов
/ 18 августа 2015

Использовать старый синтаксис.

Вместо: SELECT * FROM TABLE1 INNER JOIN TABLE2 ON TABLE1.PK = TABLE2.FK

Используйте это: SELECT * FROM TABLE1, TABLE2 WHERE TABLE1.PK = TABLE2.FK

Для НАРУЖНЫХ СОЕДИНЕНИЙ просто используйте знак (+) на той стороне, которую хотите обнулить:

Вместо: SELECT * FROM TABLE1 LEFT JOIN TABLE2 ON TABLE1.PK = TABLE2.FK

Используйте это: SELECT * FROM TABLE1, TABLE2 WHERE TABLE1.PK = TABLE2.FK (+)

...