在我的Oracle数据库中,CustomerActivity表中有两个日期列;上次更新和上次添加。由于多年来的一些变化,该应用程序使用Last Updated,但暂时使用上次添加日期,在某些情况下,这两列都是随机的(听起来像是糟糕的开发/缺陷),现在它已切换回上次更新日期(疯狂的权利) ?)
在任何情况下,我都想将上次添加的日期值复制到上次更新的日期列中,只有在上次添加时>最近更新时间。在此之后,我将从表中删除最后添加的列(永久性修复)
如何为此编写Update语句?
答案 0 :(得分:0)
正如您明确指出的那样,"我想将上次添加的日期值复制到上次更新的日期列中,只有在上次添加时>最后更新"。由于SQL是一种声明性语言,您只需将其转换为SQL:
我想将上次添加的日期值复制到上次更新日期列
SET last_updated = last_added
仅限上次添加>上次更新
WHERE last_added > last_updated
现在你只需要把它们放在一起:
UPDATE CustomerActivity
SET last_updated = last_added
WHERE last_added > last_updated