ORA-00917: 插入在 Oracle 中不存在时缺少逗号

ORA-00917: missing comma when insert not exist in oracle

我有这样的查询:

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 中不存在的值向 KONTAK table 插入数据='AMIN'.

当我 运行 它时,我得到了错误:

ORA-00917: missing comma

有什么建议吗?

如果您正在尝试进行条件插入,那么您可以使用 MERGE,或者使用类似的东西,假设您只想在 'AMIN' 不存在时插入 'ANDIKA PRATAMA'(这对我来说没有意义,但这似乎是你的目标):

insert into table1(id1, col1, col2)
  select sequence1.nextval, 'VAL1', 'VAL2'
    from dual
    where not exists (select 1 from table1 where col1 = 'AMIN')

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

在 insert with select 语句中使用 Where 条件;

尝试;

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'
)