[英]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.