我有條件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