oracle 复制数据、删除重复数据、

最简单的复制:

insert into A (kcdm,zklb,kksj_i) select kcdm,zklb,kksj_i from B


产生疑惑的地方: 如果A有一个自增的ID, 语句该怎么写?

开始想法: insert into A (id,kcdm,zklb,kksj_i) select seq_a_id.nextval,kcdm,zklb,kksj_i from B   但是seq_a_id.nextval 是A的,select from B能获取到吗?明显很难。


如果A有自增的ID,这个时候需要创建seq和对应的trigger,语句和上面一样。可以自动生成ID。

insert into tableA (id,kcdm,zklb,kksj_i,remark) values(tableA.NEXTVAL,?,?,?,?)


删除重复数据:


简单删除 : delete from B where b.kcdm = (select kcdm from A )


多列删除: delete from exam_kkkc a where exists (select kcdm,zklb  from tp_global_kkkc_history b where a.kcdm=b.kcdm and a.zklb = b.zklb)

              delete from exam_kkkc a where exists (select b.kcdm,b.zklb from tp_global_kkkc_history b where a.kcdm=b.kcdm and a.zklb = b.zklb and b.ndm = ? and b.zklb = ? )

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值