ORA-00917:oracle中不存在insert时缺少逗号

时间:2015-08-31 04:30:53

标签: sql oracle insert

我有这样的查询:

INSERT INTO KONTAK (IDKONTAK, NAMA, NOHP, ALAMAT, GROUPKONTAK_FK) VALUES 
(SQ_IDKONTAK.NEXTVAL, 'ANDIKA PRATAMA', '+6285226202202', 'JPR', '' WHERE NOT EXISTS
(SELECT * FROM KONTAK WHERE NAMA = 'AMIN'))

我希望根据KONTAK NAMA ='AMIN'中不存在的值将数据插入KONTAK表。

当我跑步时,我收到了错误:

  

ORA-00917:缺少逗号

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

如果你正在尝试进行条件插入,那么你可以使用MERGE,或者使用类似的东西,假设你只想在 /* #tooltip is id for button #myModal is id for modal-box */ $('#tooltip').tooltip(); $('#myModal').on('show.bs.modal', function () { $('#tooltip').blur(); /* To hide the tooltip on modal-box show */ }); $('#myModal').on('hidden.bs.modal', function (e) { console.log(e); $('#tooltip').tooltip('blur'); /* To hide the tooltip on modal-box close*/ }); 不存在的情况下插入'ANDIKA PRATAMA'( #39;对我有意义,但似乎是你的目标):

'AMIN'

http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_9014.htm

答案 1 :(得分:1)

使用Where语句插入时使用select条件;

试;

INSERT INTO KONTAK (IDKONTAK, NAMA, NOHP, ALAMAT, GROUPKONTAK_FK) 
select 
SQ_IDKONTAK.NEXTVAL, 'ANDIKA PRATAMA', '+6285226202202', 'JPR', '' 
from dual
WHERE NOT EXISTS (
    SELECT * FROM KONTAK WHERE NAMA = 'AMIN'
)