【数据库】Oracle实现判断条件批量修改功能

在拆库项目中,为满足业务需求,需在Oracle数据库中对表进行重构,增加'添加人ID'等字段并确保非空。针对已有数据,需要批量填充默认值或通过关联用户表获取值,如已存在添加人信息则对应填充添加人ID。
摘要由CSDN通过智能技术生成

背景:

    由于拆库项目发展,需要对表进行简单重构;业务要求迁移的表需要存在 ‘添加人ID’,‘添加人’,‘添加时间’,‘修改人ID’,‘修改人’,‘修改时间’几个字段,原表不存在的这几个字段需要进行新增字段。并且要求这几个字段都应设置‘不可为null。

   就需要在保证新增的数据已经存在默认值的情况下,对原来的数据进行修复再做数据转移(如图将每个为null的字段分别进行赋值);


update TABLE_NAME
set 
  CREATE_USER_ID = case  when CREATE_USER_ID is null then 333 else CREATE_USER_ID end,
  CREATE_USER_NAME =  case when CREATE_USER_NAME is null then'系统' else CREATE_USER_NAME end,
  CREATE_DATETIME= case when CREATE_DATETIME is null then sysdate else CREATE_DATETIME end,
  UPDATE_USER_ID= case when UPDATE_USER_ID is null then 333 else UPDATE_USER_ID  end,
  UPDATE_USER_NAME= case when UPDATE_USER_NAME is null then '系统' else UPDATE_USER_NAME  end,
  UPDATE_DATETIME= case when UPDATE_DATETIME is null then sysdate else UPDATE_D
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值