簡體   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