【发布时间】:2021-09-10 11:31:53
【问题描述】:
我正在使用 Oracle SQL,我正在尝试运行以下查询:
INSERT
INTO data_mapp_info
(
data_mapp_info_id,
data_mapp_camp_id,
data_mapp_info,
data_mapp_info_regs,
dt_first,
dt_ult_modf,
user_ult_modf
)
VALUES
(
(SELECT MAX(data_mapp_info_id)+1 AS data_mapp_info_id
FROM MAPP.DATA_MAPP_INFO
)
,
77,
'Value 1',
(SELECT MAX(data_mapp_info_regs),
CASE data_mapp_info_regs
WHEN NULL
THEN 1
ELSE MAX(data_mapp_info_regs)+1
END
FROM MAPP_SOA.DATA_MAPP_info
WHERE data_mapp_camp_id = 77
),
sysdate,
sysdate,
'user.name'
) ;
对于 data_mapp_info_regs 的值,如果它是 NULL,我试图设置为 1,如果它是前一个最大值加一已设置的索引 data_mapp_camp_id 存在。但我收到错误 ORA-00913: "too many values"。
如何修复此查询?
【问题讨论】:
标签: sql oracle subquery sql-insert