繁体   English   中英

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

当我运行它时出现错误:

ORA-00917: 缺少逗号

有什么建议吗?

如果您正在尝试进行条件插入,那么您可以使用 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

在带有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'
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM