我正在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;
但我不能让它发挥作用,任何帮助我都会感激
答案 0 :(得分: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');