在Pro * C上使用内连接时,我收到以下错误:
PCC-S-02201, Encountered the symbol "inner" when expecting one of the following:
我刚刚使用了一个简单的内连接。当我搜索解决方案时,我被告知10g不支持这种语法,我应该使用动态SQL。真的吗?如何使用动态SQL实现内连接?
答案 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 (+)