加入收藏 | 设为首页 | 会员中心 | 我要投稿 51站长网 (https://www.51zhanzhang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
站内搜索:
当前位置: 首页 > 站长百科 > 正文

如果在Oracle中不存在记录,如何插入记录?

发布时间:2021-01-09 23:56:04 所属栏目:站长百科 来源:网络整理
导读:如果记录在Oracle中不存在,如何插入记录?这是我想要做的: IF NOT EXISTS (SELECT * FROM AROH_FAA_AIRPORT WHERE AIRPORT_ABBREVIATION = '0D7') BEGIN insert into AROH_FAA_AIRPORT (FAA_AIRPORT_OID,CITY,FAA_LISTED_AIRPORT_NAME,AIRPORT_ABBREVIATION

如果记录在Oracle中不存在,如何插入记录?这是我想要做的:

IF NOT EXISTS (SELECT * FROM AROH_FAA_AIRPORT WHERE AIRPORT_ABBREVIATION = '0D7') 
BEGIN 
  insert into AROH_FAA_AIRPORT 
  (FAA_AIRPORT_OID,CITY,FAA_LISTED_AIRPORT_NAME,AIRPORT_ABBREVIATION) 
  values(AROH_FAA_AIRPORT_SEQ.nextval,'ADA','0D7') 
END

解决方法

insert into AROH_FAA_AIRPORT 
   (FAA_AIRPORT_OID,AIRPORT_ABBREVIATION) 
select AROH_FAA_AIRPORT_SEQ.nextval,'0D7') 
from dual 
where not exists (select 42
                  from AROH_FAA_AIRPORT 
                  WHERE AIRPORT_ABBREVIATION = '0D7');

或者,您可以使用MERGE语句:

merge into AROH_FAA_AIRPORT a
using (
    select 'ADA' city,'ADA' as faa_listed_airport_name,'0D7' as as airport_abbreviation 
    from dual 
) t ON (t.city = a.city)
when not matched then 
  insert 
     (FAA_AIRPORT_OID,AIRPORT_ABBREVIATION)
  values 
     (AROH_FAA_AIRPORT_SEQ.nextval,t.city,t.faa_listed_airport_name,t.airport_abbreviation);

(编辑:ASP站长)

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

    相关内容
    未处理完善
      无相关信息
    未处理完善