update 批量修改,oracle多表关联修改

UPDATE UNIT U SET U.BASED_LOT_RRN = (SELECT L.BASED_LOT_RRN FROM LOT L WHERE U.LOT_RRN = L.lot_rrn)

Oracle,多表关联update,需要EXISTS
update UNIT_SP_TEST_PROG G set file_column = ‘VFBC’
where EXISTS (SELECT 1 from UNIT_SP_DATA A where A.TEST_PROGRAM_RRN=G.TEST_PROGRAM_RRN AND file_column = ‘VFBC(5.00mA)’ and A.unit_rrn in
(SELECT unit_rrn FROM unit where lot_rrn = 52232377))

update process_workflow_lot P  set (P.ATTRIBUTE_DATA1,P.ATTRIBUTE_DATA2) =(
SELECT to_char(G.trans_end_timestamp,'yyyy-mm-dd hh24:mi:ss'),G.TRANS_PERFORMED_BY
FROM 
LOT_TRANS_HISTORY H,
transaction_log G,
LOT_STEP_HISTORY SH 
WHERE  h.trans_rrn = g.trans_rrn 
AND SH.STEP_SEQUENCE = H.STEP_SEQUENCE  
AND SH.lot_rrn = H.lot_rrn
AND P.lot_rrn = SH.lot_rrn
AND P.product_rrn = SH.PRODUCT_RRN
AND P.PROCESS_RRN = SH.PROCESS_RRN  
AND P.PROCESS_VERSION = SH.PROCESS_VERSION
--AND to_char(P.ROUTE_RRN) = SUBSTR(SH.PROCESS_STEP_VERSION, instr(SH.PROCESS_STEP_VERSION,'|')+1,instr(SH.PROCESS_STEP_VERSION,',',instr(SH.PROCESS_STEP_VERSION,'|'))-instr(SH.PROCESS_STEP_VERSION,'|')-1) -- 工序
AND instr(SH.PROCESS_STEP_VERSION, P.ROUTE_RRN || ',' || P.ROUTE_VERSION )>1 --工序相等,NAMED_OBJECT中instacne_rrn是主键,不必担心重复
AND P.OPERATION_RRN = SH.OPERATION_RRN 
AND P.route_process_seq = SH.ROUTE_SEQ
AND P.OPERATION_ROUTE_SEQ = SH.OPERATION_SEQ
AND g.trans_id = 'MOVEIN'
)
where  P.lot_rrn = 5177911
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值