来自where子句的Oracle批量更新表

时间:2014-10-30 16:44:12

标签: oracle sql-update

我有一个包含

的主人(MD_TS_MAST)
  • MAST_ID
  • ENG_ID
  • MS_DATE

明细(MD_TS_DETAIL)表

  • ID
  • MD_ID(使用MAST_ID的rel)
  • JOB_FOR
  • JOB_TYPE_ID
  • ACCOUNT_ID

下面是SQL,它找到" MD_TS_DETAIL ID"通过eng_id和日期范围。  这让我了解了细节。  102038  102134  101970  102244

然后我只需要更新MD_TS_DETAIL表。

UPDATE MD_TS_DETAIL
SET JOB_FOR ='25',
         JOB_TYPE_ID ='344',
                      ACCOUNT_ID ='8'

WHERE MD_TS_DETAIL.ID IN (
SELECT D.ID
FROM MD_TS_MAST M
LEFT JOIN MD_TS_DETAIL D ON M.MAST_ID = D.MD_ID WHERE ENG_ID = '621'
AND MS_DATE BETWEEN '02-OCT-14' AND '05-OCT-14';
)

这将转换为表格。但是我对如何更新这个问题一无所知。

1 个答案:

答案 0 :(得分:0)

看起来我喝了太多咖啡。

我在结束括号(oops)之前添加了一个semi_colon。删除并正常工作