【发布时间】:2019-12-12 20:15:47
【问题描述】:
在尝试运行这个简单的 UPDATE 语句时,我遇到了一个令人困惑的“ORA-00927:缺少等号 Oracle SQL” 错误。
这个想法来自于我想更新 join 语句中的两个不同字段。
第一个状态更新。它已经完成了,但是当我尝试在单个查询中同时更新 STATUS 和 T_ID 时,就出现了这样的错误。
我的 SQL 代码:
UPDATE RKAP_PROYEKSI R
SET STATUS = (
WITH RP AS
(
SELECT
RKAP_PROYEKSI.ID AS ID,
RKAP_PROYEKSI.TAHUN AS TAHUN,
RKAP_PROYEKSI.KODE_ANGGARAN AS KODE_ANGGARAN,
RKAP_PROYEKSI.JENIS_BIAYA AS JENIS_BIAYA,
RKAP_PROYEKSI.SUBTOTAL AS SUBTOTAL,
RKAP_PROYEKSI.TOTAL AS TOTAL,
RKAP_PROYEKSI.BELONGS_TO AS BELONGS_TO,
RKAP_PROYEKSI.NOMOR AS NOMOR,
RKAP_PROYEKSI.STATUS AS STATUS,
0 AS ZERO_STATUS,
"123TRX12" AS TICK_ID
FROM WOS.RKAP_PROYEKSI
LEFT JOIN WOS.RKAP_MASTER_KODE ON RKAP_MASTER_KODE.ID_KODE = RKAP_PROYEKSI.KODE_ANGGARAN
LEFT JOIN WOS.RKAP_USER ON RKAP_USER.BIRO = RKAP_MASTER_KODE.BIRO
WHERE TAHUN = '2018' AND RKAP_MASTER_KODE.BIRO = 'BSI')
SELECT RP.ZERO_STATUS, RP.TICK_ID
FROM RP
WHERE RP.ID = R.ID
)
任何深思熟虑的建议将不胜感激。
谢谢。
【问题讨论】:
-
如何将多个值分配到单个列中???
-
你需要使用 Merge - docs.oracle.com/cd/B28359_01/server.111/b28286/…
标签: sql oracle join sql-update left-join