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'
)
我有这样的查询:
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'
)