1

在 Pro*CI 上使用内部联接时,出现以下错误:

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

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

4

2 回答 2

1

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

于 2010-07-15T09:30:57.610 回答
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 (+)

于 2015-08-18T16:51:16.120 回答