我有条件INSERT INTO使用SELECT'WHERE NOT'失败。通过试图追踪我在Google上找到的声称他们工作的示例,我得到了这种语法。我无法弄清楚语法错在哪里,除非我所做的不被支持?条件INSERT INTO使用SELECT'WHERE NOT'失败
INSERT INTO ENV (ENV_ID, ENV_NAME, SSO_URL, ENV_NAME_LOWER)
SELECT '99', 'Blah', 'https://blah.com:443', 'production'
WHERE NOT EXISTS (SELECT 1 FROM ENV WHERE ENV_ID = '99');
这里是我在甲骨文得到的错误:
Error at Command Line : 3 Column : 1
Error report -
SQL Error: ORA-00923: FROM keyword not found where expected
00923. 00000 - "FROM keyword not found where expected"
UPDATE: 得到了满意的答案,但不能完全得到它应有的工作,以另一个错误:
sql中的语法是'INSERT INTO'和VALUES' –
好的,所以你暗示唯一的方法就是使用MERGE语句? – djangofan
@RichardHamilton在这方面,OP的语法是正确的,你可以在SQL中提供一个带有查询结果的插入语句。 – collapsar