背景:
想往一个表中插入一条记录,但是需要先判断库里有没有存在一个号码的记录,若存在则不插入,否则插入新记录。
SQL:
insert first
when not exists (select FID from t_ckpt_shipflow where fpostrequisitionnumber = '2010000997') then
into t_ckpt_shipflow(fid,fflowname,fpostrequisitionnumber)
select '001002' fid,'流程名称' fflowname,'2010000997' fpostrequisitionnumber from dual
说明:
若 t_ckpt_shipflow 表中存在 fpostrequisitionnumber = '2010000997' 的记录时,就不在插入新记录。
这里用到了INSERT INTO 的另类写法,那就是 WHEN .. THEN的使用,可以使SQL更加灵活。