批量更新记录sql

简单点的

UPDATE T_CONT_TRANSFEROTHERFEE T
   SET (T.VERIFICATION_FEE_AMOUNT, T.MODIFY_ID ,T.MODIFY_TIME ) =
       (SELECT T1.VERIFICATION_FEE_AMOUNT , 5 ,SYSDATE 
          FROM T_FUND_OTHERFEEPAIDDETAIL T1
         WHERE T1.TRANS_OTHERID = T.ID AND T1.OTHERPAID_ID =7 )
WHERE    EXISTS (
      SELECT 1 
      FROM  T_FUND_OTHERFEEPAIDDETAIL T1
         WHERE T1.TRANS_OTHERID = T.ID AND 
       T1.OTHERPAID_ID =7
)

复杂一点的

update liulangyu_examineedetail t set (t.exam_card_num,t.status) =
(SELECT zk_code, 220
  FROM
  (SELECT zk_uuid, zk_code
  FROM (select examineedetail.uuid zk_uuid,
               to_char(worktype.EXAM_DATE, 'yyMMdd') || '01' ||
               decode(substr(examineedetail.EXAMAREA_UUID, 0, 3),
                      '010',
                      substr(examineedetail.EXAMAREA_UUID, 4),
                      substr(examineedetail.EXAMAREA_UUID, 0, 3)) ||
               EXAMPOINT_INFO.EP_CODE || CLASSROOM.CLASS_SEQ ||
               examineedetail.seat_num zk_code
          from liulangyu_examineedetail examineedetail,
               liulangyu_planinfo planinfo,
               liulangyu_worktype worktype,
               liulangyu_EXAMPOINT_INFO EXAMPOINT_INFO,
               liulangyu_CLASSROOM CLASSROOM
         where examineedetail.PLAN_UUID = planinfo.uuid
           and examineedetail.ENROLL_LEVEL_UUID = worktype.uuid
           and examineedetail.ep_uuid = EXAMPOINT_INFO.Uuid
           and examineedetail.class_uuid = CLASSROOM.Uuid
           and examineedetail.status=210
           and planinfo.uuid = 'cbaa6d10-68a6-4ac2-8932-dd87c00f16fd'))
            zk
           where t.uuid = zk.zk_uuid)
where t.plan_uuid = 'cbaa6d10-68a6-4ac2-8932-dd87c00f16fd'
and exists(select 1
  FROM
(SELECT zk_uuid, zk_code
  FROM (select examineedetail.uuid zk_uuid,
               to_char(worktype.EXAM_DATE, 'yyMMdd') || '01' ||
               decode(substr(examineedetail.EXAMAREA_UUID, 0, 3),
                      '010',
                      substr(examineedetail.EXAMAREA_UUID, 4),
                      substr(examineedetail.EXAMAREA_UUID, 0, 3)) ||
               EXAMPOINT_INFO.EP_CODE || CLASSROOM.CLASS_SEQ ||
               examineedetail.seat_num zk_code
          from liulangyu_examineedetail examineedetail,
               liulangyu_planinfo planinfo,
               liulangyu_worktype worktype,
               liulangyu_EXAMPOINT_INFO EXAMPOINT_INFO,
               liulangyu_CLASSROOM CLASSROOM
         where examineedetail.PLAN_UUID = planinfo.uuid
           and examineedetail.ENROLL_LEVEL_UUID = worktype.uuid
           and examineedetail.ep_uuid = EXAMPOINT_INFO.Uuid
           and examineedetail.class_uuid = CLASSROOM.Uuid
           and examineedetail.status=210
           and planinfo.uuid = 'cbaa6d10-68a6-4ac2-8932-dd87c00f16fd'))
            zk2
           where t.uuid = zk2.zk_uuid);
		   
		   
		   
update liulangyu_scoreinfo t set (t.exam_card_num) =
(SELECT zk_code
  FROM
 
  (SELECT zk_uuid, zk_code
  FROM (select examineedetail.uuid zk_uuid,
               to_char(worktype.EXAM_DATE, 'yyMMdd') || '01' ||
               decode(substr(examineedetail.EXAMAREA_UUID, 0, 3),
                      '010',
                      substr(examineedetail.EXAMAREA_UUID, 4),
                      substr(examineedetail.EXAMAREA_UUID, 0, 3)) ||
               EXAMPOINT_INFO.EP_CODE || CLASSROOM.CLASS_SEQ ||
               examineedetail.seat_num zk_code
          from liulangyu_examineedetail examineedetail,
               liulangyu_planinfo planinfo,
               liulangyu_worktype worktype,
               liulangyu_EXAMPOINT_INFO EXAMPOINT_INFO,
               liulangyu_CLASSROOM CLASSROOM
         where examineedetail.PLAN_UUID = planinfo.uuid
           and examineedetail.ENROLL_LEVEL_UUID = worktype.uuid
           and examineedetail.ep_uuid = EXAMPOINT_INFO.Uuid
           and examineedetail.class_uuid = CLASSROOM.Uuid
           and examineedetail.status=220
           and planinfo.uuid = 'cbaa6d10-68a6-4ac2-8932-dd87c00f16fd'))
   zk
           where t.examinee_uuid = zk.zk_uuid)
where t.plan_uuid = 'cbaa6d10-68a6-4ac2-8932-dd87c00f16fd'
and exists(select 1
  FROM
  (SELECT zk_uuid, zk_code
  FROM (select examineedetail.uuid zk_uuid,
               to_char(worktype.EXAM_DATE, 'yyMMdd') || '01' ||
               decode(substr(examineedetail.EXAMAREA_UUID, 0, 3),
                      '010',
                      substr(examineedetail.EXAMAREA_UUID, 4),
                      substr(examineedetail.EXAMAREA_UUID, 0, 3)) ||
               EXAMPOINT_INFO.EP_CODE || CLASSROOM.CLASS_SEQ ||
               examineedetail.seat_num zk_code
          from liulangyu_examineedetail examineedetail,
               liulangyu_planinfo planinfo,
               liulangyu_worktype worktype,
               liulangyu_EXAMPOINT_INFO EXAMPOINT_INFO,
               liulangyu_CLASSROOM CLASSROOM
         where examineedetail.PLAN_UUID = planinfo.uuid
           and examineedetail.ENROLL_LEVEL_UUID = worktype.uuid
           and examineedetail.ep_uuid = EXAMPOINT_INFO.Uuid
           and examineedetail.class_uuid = CLASSROOM.Uuid
           and examineedetail.status=220
           and planinfo.uuid = 'cbaa6d10-68a6-4ac2-8932-dd87c00f16fd'))
            zk2
           where t.examinee_uuid = zk2.zk_uuid);

猜你喜欢

转载自liuna718-163-com.iteye.com/blog/2236517