Oracle SQL – 可以返回列值的“before”状态
发布时间:2020-12-12 15:12:30 所属栏目:百科 来源:网络整理
导读:假设myTable中的以下行: id = 1letter = 'a' 在Oracle中,可以轻松地执行以下操作: update myTable set letter = 'b'where id = 1returning letter into myVariable; 然后myVariable将保存值“b”. 我正在寻找的是一些返回信件的“之前”值的方法 即.将以前
假设myTable中的以下行:
id = 1 letter = 'a' 在Oracle中,可以轻松地执行以下操作: update myTable set letter = 'b' where id = 1 returning letter into myVariable; 然后myVariable将保存值“b”. 我正在寻找的是一些返回信件的“之前”值的方法 即.将以前的更新替换为: update myTable set letter = 'b' where id = 1 returning letter "before the update" into myVariable; 而myVariable应该保存值’a’; 我明白T-SQL可以通过OUTPUT子句来实现. 有没有Oracle等同的方式实现这一点,所以我不必先做一个“选择”只是为了获得以前的价值? update ( select T.*,(select letter from DUAL) old_letter from myTable T where id=1 ) set letter = 'b' returning old_letter into myVariable; 经过Oracle 11.2测试 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |