我需要编写几个UPDATE查询来解析.csv文件中的数据,但我不知道该表是如何工作的,我甚至无法直接访问数据库,我刚刚得到一个像这样的INSERT查询:
insert into lr_umbrales_valores (umcod_id, uvfec_dt, uvval_nm)
values ((select umcod_id from lr_umbrales
where lrcod_nm = (
select lrcod_id from lr_lineas_referencia
where me_metrica_nm = ?
and fecha_baja_dt is null)
and umtip_tx='S'), sysdate, ?)
所以我试试这个:
UPDATE LR_UMBRALES_VALORES SET UVVAL_NM = ?
WHERE (
SELECT UMCOD_ID FROM LR_UMBRALES
WHERE LRCOD_NM = (
SELECT LRCOD_ID FROM LR_LINEAS_REFERENCIA
WHERE ME_METRICA_NM = ?
AND FECHA_BAJA_DT IS NULL
)
AND UMTIP_TX = 'S')
AND UVFEC_DT = TO_DATE(?, 'DD/MM/YYYY HH24:MI:SS')");
这给了我一个“失踪的表达”#39;错误(ORA-00936)
这是我得到的桌子的唯一信息:
从这一个开始,当UMCOD_ID
与下一个表中的LRCOD_NM
相同时,我得到LRCOD_ID
。
当LRCOD_ID
与' ME_METRICA_NM
'相同时,获取?
参数
如何处理此问题的任何提示?毋庸置疑,我对SQL全新,所以这可能是一个非常明显的错误,但我无法做到。
答案 0 :(得分:2)
这部分
WHERE (
SELECT UMCOD_ID FROM LR_UMBRALES
WHERE LRCOD_NM = (
SELECT LRCOD_ID FROM LR_LINEAS_REFERENCIA
WHERE ME_METRICA_NM = ?
AND FECHA_BAJA_DT IS NULL
)
AND UMTIP_TX = 'S')
导致错误。也许你想要像
这样的东西WHERE UMCOD_ID = (
SELECT UMCOD_ID FROM LR_UMBRALES
WHERE LRCOD_NM = (
SELECT LRCOD_ID FROM LR_LINEAS_REFERENCIA
WHERE ME_METRICA_NM = ?
AND FECHA_BAJA_DT IS NULL
)
AND UMTIP_TX = 'S')