Oracle SQL - 带有 Where 子句的插入语句

Oracle SQL - Insert Statement with Where Clause

我正在尝试将数据插入到 table 中特定行的特定列中,我确定我做错了什么,因为这是我第一次使用 Where:

insert INTO mekka_h_o_a_fees
  columns(money_handed_to_commity),
  Where Month_Year = July
  VALUES(Yes)

提前致谢

我想你想要 update,而不是 insert。语法是:

update mekka_h_o_a_fees
set money_handed_to_commity = 'Yes'
where month_year = 'July'

这会在第 month_year 列的值为 'July' 的行上将第 money_handed_to_commity 列设置为 'Yes'

如果你想在不同的 table 中插入基于另一行的新行,那么你可以使用 INSERT INTO ... SELECT ... WHERE ...(并且你需要在字符串文字值周围加上单引号):

INSERT INTO mekka_h_o_a_fees (money_handed_to_commity)
SELECT 'Yes'
FROM   some_table
WHERE  Month_Year = 'July';