Oracle SQL - 带有 Where 子句的插入语句
Posted
技术标签:
【中文标题】Oracle SQL - 带有 Where 子句的插入语句【英文标题】:Oracle SQL - Insert Statement with Where Clause 【发布时间】:2020-11-09 22:42:25 【问题描述】:我正在尝试将数据插入到表中特定行的特定列中,我确信我做错了,因为这是我第一次使用 Where: 执行插入语句
insert INTO mekka_h_o_a_fees
columns(money_handed_to_commity),
Where Month_Year = July
VALUES(Yes)
提前谢谢你
【问题讨论】:
【参考方案1】:我想你想要update
,而不是insert
。语法是:
update mekka_h_o_a_fees
set money_handed_to_commity = 'Yes'
where month_year = 'July'
这会将列money_handed_to_commity
设置为'Yes'
在列month_year
具有值'July'
的行上。
【讨论】:
没错,行已经存在我只需要更新一个空单元格 如果我想更新多个月怎么办?我试过了,它没有用 update mekka_h_o_a_fees set money_handed_to_commity = 'Yes' where month_year = 'August''SEPT'; @AnouarSeljouki:where month_year in ('August', 'Sept')
【参考方案2】:
如果您想基于不同表中的另一行插入新行,则可以使用INSERT INTO ... SELECT ... WHERE ...
(并且您需要在字符串文字值周围加上单引号):
INSERT INTO mekka_h_o_a_fees (money_handed_to_commity)
SELECT 'Yes'
FROM some_table
WHERE Month_Year = 'July';
【讨论】:
以上是关于Oracle SQL - 带有 Where 子句的插入语句的主要内容,如果未能解决你的问题,请参考以下文章
如何使用带有过滤器 where 子句的 oracle 外连接
Oracle where exists 子句不适用于 SQL Plus
oracle 形式:pl/sql 中 where 子句中的 max 子句
Oracle 到 SQL Server:月 + 年 where 子句