繁体   English   中英

Oracle 12c PLSQL MERGE错误

[英]Oracle 12c PLSQL MERGE error

下面的代码片段来自我的一个更大的过程。 当我在TOAD中手动执行此过程时,它可以正常工作而不会出现我期望的错误。

我现在正尝试将其放入用户的表单中-但是,当我尝试对其进行编译时,在MERGE行上收到以下错误:“在预期以下情况之一时遇到了符号” INTO“::=。(@ %;“

MERGE INTO count_balance cb
USING (select location_code, product_code, closing_stock
       from trd_stock_closing ts
      where period = gen.add_periods(p_period, -1)
        and exists (select null
                      from ag_product_view
                     where product_code = ts.product_code
                       and group_code = 'Q')) cs
ON (cb.location_code = cs.location_code AND cb.product_code = cs.product_code)
WHEN MATCHED THEN 
UPDATE SET cb.opening_stock = cs.closing_stock
WHEN NOT MATCHED THEN
INSERT (location_code, product_code, opening_stock)
VALUES (cs.location_code, cs.product_code, cs.closing_stock);

有人可以建议吗?

看来您正在尝试使用旧的Oracle * Forms,而这些Oracle * Forms完全不支持MERGE语句。 尝试使用较新版本的Forms或将此代码包装到存储过程中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM