终于领略到oracle的强大,可能其他数据库的也可以.标准SQL?
Update ds_wap_query_top_count c
Set active_num = (Select nvl(active_num, 0)
From ds_wap_query_top_temp t
Where t.key_id = c.key_id
and t.channel_id=c.channel_id
and trunc(t.per_date) = to_date('2007-01-23','yyyy-MM-dd')
)
where trunc(c.per_date) = to_date('2007-01-23','yyyy-MM-dd')
;
这个SQL的意思是:
首先它会逐行update ds_wap_query_top_count 表,逐行update前它会对带条件的ds_wap_query_top_temp 进行select 操作,当select的条件符合那行的数据时,就更新那行.有点游标的感觉.
本文介绍了一种使用Oracle SQL更新表中记录的方法。通过结合使用UPDATE和SELECT语句,可以实现根据另一表中的条件来更新目标表。这种方法类似于游标的使用,并展示了Oracle数据库的强大功能。
1742

被折叠的 条评论
为什么被折叠?



