ORACLE复制表中特定数据修改后再次插入此表中

背景:公司一个sql问题。

描述:数据库中有这样一个表bd_suporg(供应商组织分配关系),表信息如下,目标是将所属于pk_org为0001A210000000003V8K的所有供应商,复制一份给pk_org为0001A210000000003K4H的供应商。其中pk_suporg为此表主键。

SQL参考:

insert into bd_suporg
  (dataoriginflag,
   dr,
   enablestate,
   pk_group,
   pk_org,
   pk_suporg,
   pk_supplier,
   TS)
  select dataoriginflag,
         dr,
         enablestate,
         pk_group,
         '0001A210000000003K4H' as pk_org,
         '0001A11000' || dbms_random.string('U', 6) as pk_suporg,
         pk_supplier,
         ts
    from bd_suporg
   where pk_org = '0001A210000000003V8K';

总结:此问题主要在于查询时的两点,'0001A210000000003K4H' as pk_org,意思是修改了组织;'0001A11000' || dbms_random.string('U', 6) as pk_suporg,意思是生成随机主键。

||代表连接符,dbms_random.string('U', 6) 随机生成6位大写字母。

查询效果:

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值