简体   繁体   English

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

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

I have query like this :我有这样的查询:

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

I want insert data to KONTAK table based on the values where not exist in KONTAK NAMA='AMIN'.我想根据 KONTAK NAMA='AMIN' 中不存在的值向 KONTAK 表插入数据。

When I ran it I got error :当我运行它时出现错误:

ORA-00917: missing comma ORA-00917: 缺少逗号

Any suggestion?有什么建议吗?

If you are trying to do a conditional insert, then you can either use MERGE, or use something like this, assuming you want to insert 'ANDIKA PRATAMA' only if 'AMIN' is not already there (which doesn't make sense to me, but it seems to be your goal):如果您正在尝试进行条件插入,那么您可以使用 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 http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_9014.htm

Use Where condition in insert with select statement;在带有select语句的插入中使用Where条件;

try;尝试;

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