oracle唯一约束重复,没有重复却提示:ORA-00001: 违反唯一约束条件

麻烦大侠们帮看看,怎么回事

问题描述:F_RACK_INFO_CODE是b$f_rack_info表code字段的唯一约束。

在过程中对该表执行插入的时候提示(ORA-00001: 违反唯一约束条件),但是我通过查看下述语句查看没有任何重复的code:

select code from b$f_rack_info having count(code)>1 group by code

而且插入的语句我直接在plsql窗口可以执行插入,这是为什么?

插入的语句:

INSERT /*+append*/

INTO b$f_rack_info

(cnt_box_id,g3e_id,g3e_fno,g3e_fid,g3e_cno,g3e_cid,name,code,code_in97,totalcapacity,height,rackremark,district_id)

SELECT cnt_box_id,f_rack_info_seq.nextval,25410,g3e_fid,25698,1,cnt_box_name,cnt_box_no,alias,capacity,height,notes,pkg_public.f_getdistinctid(region_name,'')

FROM (SELECT row_number() over(PARTITION BY g3e_fid ORDER BY g3e_fid, edite desc) r,

a.*

FROM itf_zytb_frack a

WHERE NOT EXISTS

(SELECT 1

FROM b$f_rack_info

WHERE G3E_FID = a.G3E_FID)

AND a.processtype IN ('UPDATE','INSERT','DELETE')) d

WHERE d.r=1

AND d.processtype <> 'DELETE'

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值