oracle插入时判断重复,Oracle在插入表之前检查重复值
我有兩個函數可以在插入到表之前檢查重復值,但是我不知道哪種方法更有效?
第一種方法:
select count(*)
into ln_rec_cnt
from ieexco_tbl t
where t.ieexco_dept_code = p_dept
and NVL(t.IEEXCO_SEQ, '|') = NVL(p_indx, '|')
if ln_rec_cnt > 0 then
raise_application_error(-20001, 'Save coordinator record repeatedly');
end if;
第二種方法:
insert into ieexco_tbl t
(IEEXCO_DEPT_CODE,
IEEXCO_SEQ,
IEEXCO_NAME,
IEEXCO_PHONE,
IEEXCO_EMAIL,
IEEXCO_CREATE_DATE,
IEEXCO_OPR_PIDM)
select
p_dept,
p_indx(i),
p_name(i),
p_tel(i),
p_email(i),
sysdate,
p_opr_pidm
from dual
where not exists(SELECT 1
FROM ieexco_tbl
WHERE IEEXCO_DEPT_CODE = p_dept
and NVL(IEEXCO_SEQ,'|')= NVL(p_indx(i),'|'));
總結
以上是生活随笔為你收集整理的oracle插入时判断重复,Oracle在插入表之前检查重复值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle ogg双向通步,使用ogg
- 下一篇: oracle10.2.0.5漏洞,Ora