0

我正在 oracle 中开发一个查询,如果某些记录不存在 (SELECT) 以进行 INSERT 步骤,则该查询会进行咨询,这是我的代码

IF
    (SELECT COUNT(*) FROM (SELECT * FROM HEX_KE_LOC WHERE CLVE_LOC = '20000')) = 0
THEN
    {INSERT INTO 
            HEX_KE_LOC (CLVE_LOC,CLVE_STDO,MUN,CLVE_PAIS,UID_BUS_UNI,CLVE_ALTR,DSC,CIT,ZIPCODE) 
    VALUES   
            ('20000','AGS','001','MX','0014','1','Zona Centro','01','20000');
      }
END IF;

但我不能让它工作,任何帮助我都会感激

4

1 回答 1

2

我首选的方法是MERGE使用没有更新子句的语句:

MERGE INTO HEX_KE_LOC USING dual
   ON ( CLVE_LOC = '20000' )
WHEN NOT MATCHED THEN INSERT (CLVE_LOC,CLVE_STDO,MUN,CLVE_PAIS,UID_BUS_UNI,CLVE_ALTR,DSC,CIT,ZIPCODE) 
    VALUES ('20000','AGS','001','MX','0014','1','Zona Centro','01','20000');
于 2013-11-09T00:19:12.260 回答