Oracle 遇到符号“;“内部”;当预期以下情况之一时,;对于具有相交减去顺序开始并集的组,其中连接

Oracle 遇到符号“;“内部”;当预期以下情况之一时,;对于具有相交减去顺序开始并集的组,其中连接,oracle,oracle11g,oracleforms,Oracle,Oracle11g,Oracleforms,我正在使用oracle form builder,并在产品数据块上触发新记录实例时创建,该数据块具有: select sum(s.Count) into :count.vt from u1.shopping_cart_items s inner join u1.orders o on o.order_id = s.order_id where s.product_id = :product.product_id and o.validated=1; 我得到以下错误: 预期出现以下情况之一时遇到

我正在使用oracle form builder,并在产品数据块上触发新记录实例时创建,该数据块具有:

select sum(s.Count) into :count.vt from u1.shopping_cart_items s
inner join u1.orders o on o.order_id = s.order_id
where s.product_id = :product.product_id and o.validated=1;
我得到以下错误:

预期出现以下情况之一时遇到符号“内部” ,;对于具有相交减去顺序开始并集的组,其中连接


这个错误是什么意思?如何解决?提前感谢。

您的表单版本可能不支持join

您可以按以下方式重写查询:

select sum(s.Count) into :count.vt
from u1.shopping_cart_items s, u1.orders o
where o.order_id = s.order_id
and s.product_id = :product.product_id
and o.validated=1;

11g表单绝对不支持ANSI标准连接语法。我还不知道12c表单是否有。

哪个版本的表单?不确定最新版本是否支持ANSI连接,但我确定一些较旧但相对较新的版本不支持。(指表单10gR2和触发器的此问题。)或者您可以使用旧式联接重写。。。正如@AlexPoole所指出的,与这里经常看到的从旧语法切换到新语法的建议*8-)相反,still Forms(我见证了11g版本)甚至不支持ANSI-92语法。如果您坚持使用新样式,请尝试将SQL存储在存储过程/包中,并从表单中调用它们。这与您的问题不太相关,但
内部
外部
关键字是可选的,因此,对我来说,它们令人讨厌。我一有机会就把它们拿走。