如何在Pro * C 10g上使用连接?

时间:2010-07-15 08:55:59

标签: oracle10g inner-join oracle-pro-c

在Pro * C上使用内连接时,我收到以下错误:

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

我刚刚使用了一个简单的内连接。当我搜索解决方案时,我被告知10g不支持这种语法,我应该使用动态SQL。真的吗?如何使用动态SQL实现内连接?

2 个答案:

答案 0 :(得分:1)

Pro C 10g版本不允许内/外连接。如果您想拥有这些,则必须升级Pro C编译器 如果您使用11g,则可以使用此处建议的解决方案:http://forums.oracle.com/forums/thread.jspa?threadID=665519

答案 1 :(得分:0)

使用旧语法。

而不是:SELECT * FROM TABLE1 INNER JOIN TABLE2 ON TABLE1.PK = TABLE2.FK

使用此:SELECT * FROM TABLE1, TABLE2 WHERE TABLE1.PK = TABLE2.FK

对于OUTER JOINS,只需使用您想要可空的一侧的(+)符号:

而不是:SELECT * FROM TABLE1 LEFT JOIN TABLE2 ON TABLE1.PK = TABLE2.FK

使用此:SELECT * FROM TABLE1, TABLE2 WHERE TABLE1.PK = TABLE2.FK (+)