oracle - 获取 Oracle 表中最后更新的行
问题描述
如何获取 Oracle 表中最后更新的行?我有一个名为Employees 的表,我将对其进行一些更新。然后我想找出最后更新了哪一行(即最后更新了哪个员工)。
解决方案
最简单的方法
- 具有字段名称
updated
类型的表date
- 每当更新任何其他列时更新列的触发器。
然后
SQL> create table test.t1_trigger ( c1 number, c2 number, updated date );
Table created.
SQL> create or replace trigger test.t1_trg_update
before update of c1,c2 on test.t1_trigger
referencing new as new old as old
for each row
begin
:new.updated := sysdate;
end;
/
Trigger created.
SQL> insert into test.t1_trigger values ( 1 , 1 , null );
1 row created.
SQL> commit ;
Commit complete.
SQL> update test.t1_trigger set c1=2 , c2=2 ;
SQL> commit ;
Commit complete.
SQL> select * from test.t1_trigger ;
C1 C2 UPDATED
---------- ---------- -------------------
2 2 05.11.2021 12:18:30
推荐阅读
- java - Camel:从同一目录读取和写入
- javascript - 如何在我的 html/javascript CUBE 代码两侧设置 onclick 事件侦听器
- angular - 检查“keyup”上的离子输入值是否大于0
- php - PHP:单击时更改变量的值
- html - 如何在出现在模态之外的引导模态中修复 PDF
- python-3.x - Jinja2 在日历中每个月增加 3 天
- razor - 如何在 MVC Razor 中动态设置 <% = %>
- python - 如何在python中对字典中的特定值求和
- javascript - 在 Object.assign 之后重构数据
- pyspark - dataframe 使用 udf 有分区引起的问题