oracle中怎么获取表中数据最后更新时间

如题所述

1、首先需要打开Oracle数据库使用sysdate获取时间,输入命令select sysdate from dual回车确定。

2、然后进入页面之后,再输入执行命令语句:select sysdate(),回车键确定。

3、最后,点击之后,就可以看到页面的左下角的时间就出来了,可以看到已经获取了最后更新时间。

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-07-17

1、oracle是安装在虚拟机中的,所需要先启动linux操作系统。

2、然后使用xshell远程连接工具这台机器,并进去启动oracle,sqlplus / as sysdba,启动数据库startup。

3、select to_char(sysdate,'yyyymmdd') from dual; --查出来的结果应该也是20171126。

4、获取上周的日期select to_char(trunc(sysdate,'iw') - 7,'yyyymmdd') from dual union all,select to_char(trunc(sysdate,'iw') - 6,'yyyymmdd') from dual union all,select to_char(trunc(sysdate,'iw') - 5,'yyyymmdd') from dual union all。

5、获取本周日期select to_char(trunc(sysdate,'iw') + 1,'yyyymmdd') from dual union all select to_char(trunc(sysdate,'iw') + 2,'yyyymmdd') from dual union all ,select to_char(trunc(sysdate,'iw') + 3,'yyyymmdd') from dual union all 。

6、上面没有本周一的,获取本周一,select to_char(trunc(sysdate,'iw') +1,'yyyymmdd') from dual;本周一。

本回答被网友采纳
第2个回答  推荐于2016-05-03
oracle查询表中数据行(row)上最后的DML时间

第一种方式(块级跟踪):
select ora_rowscn,
dbms_rowid.ROWID_BLOCK_NUMBER(rowid) blockid,
scn_to_timestamp(ora_rowscn)
from hs_futures.fuentrust t
order by scn_to_timestamp(ora_rowscn);

dbms_rowid.ROWID_BLOCK_NUMBER(rowid):是为获取数据所在块的ID

scn_to_timestamp(ora_rowscn):获取数据最所修改的时间
数据发现变化后通过上面SQL语句可以查看到数据最后修改的时间,注意因为是同一个块上,所以这个块上只要有DML操作那么所有数据的scn都更新了,所以凡是跟这条记录在同一个块上数据获取到的ora_rowscn和scn_to_timestamp(ora_rowscn)两个值都发生了相应的变化。

第二种方式(行级跟踪):
create table hs_futures.fuentrust_test1 rowdependencies as
select * from hs_futures.fuentrust

用以上语句创建一个基于ROWDEPENDENCIES模式的表,然后用第一种方法中的SQL去查询此表数据中的ora_rowscn,scn_to_timestamp(ora_rowscn)两个值,修改其中的某一条记录然后再去查询那个值发现发生变化的只是被修改那条记录的这两个值发生了变化,而在同一个块中没有被修改的其它记录这两个值是不会产生变化的。
第3个回答  2013-04-27
select LAST_DDL_TIME from user_objects where object_type='TABLE' and object_name='表名'

替换表名即可,英文表名注意要用大写字母追问

如果不是分区表,对表做DML应该不行吧

追答

估计你说的,只能用触发器实现吧
还得开审计,如果数据插入频繁的话,估计开销很大

本回答被网友采纳
第4个回答  2013-04-27
首先你的那张表得有表示记录更新时间的字段,
建个触发器,每次新增、修改表中记录时,自动添加该字段值为系统时间sysdate
然后你查看该记录的这个字段即可。

oracle如何获取表字段的插入或最后更新时间
使用闪回版本查询,select 字段a,字段B,versions_starttime 起始时间,versions_endtime 结束时间,versions_operation 操作 from table versions between timestamp (systimestamp - 1\/24) and systimestamp where 字段a=xxxx 根据字段a查询一小时之内的操作 ...

oracle 如何获取最后时间被更新的数据
1.数据表上创建一个触发器来记录插入数据的时间(存放到另外一张数据表中),即可 2.在表中加个时间字段默认getdate(),插入数据时回自动添加系统当前时间

oracle 中tables的run date在哪
查看表的创建时间和最后更新表结构时间 SQL> select object_name, created, last_ddl_time from user_objects where object_name='T_OBJ_TIME';OBJECT_NAME CREATED LAST_DDL_TIME --- --- --- T_OBJ_TIME 2012-02-10 08:56:05 2012-02-10 08:56:05 ...

oracle 能不能看一条记录的插入或者更新的时间
嗯,如果你没做任何触发器的话,那么不能。你只能看到这个表的最后修改时间,并不能看到某一条记录的插入或者修改时间。

oracle中to_date详细用法示例(oracle日期格式转换)
25. 更新时间:`SELECT to_char(sysdate+n*365,'yyyy-mm-dd hh24:mi:ss')`展示如何根据天数添加或减去时间。26. 查找月的第一天和最后一天:`SELECT Trunc(SYSDATE, 'MONTH') - 1`等式用于获取指定月份的首尾日期。这些示例展示了`TO_DATE`在不同场景下的实际操作,帮助你理解和处理Oracle中的...

oracle中如何在第一次查询的时候查询所有数据,当新增一条数据后,只有新...
oracle是无法判断你是第一次查询还是最后一次查询的。这种功能只能通过代码去实现。通过代码可以判断是否是第一次查询,然后通过不同的sql语句来实现。如果非要通过sql来实现的话。也是有办法的,就是在表上增加一个状态字段,然后设置一个读触发器。在查询的时候更新状态。不过这种做法基本属于一次性解决...

如何查询oracle某条记录什么时候更新过
正常是查不到的。 所以业务系统一般有时间戳字段,记录修改人和修改时间,当然这也只能记录最后一次的修改人和修改时间。 关键的数据修改时,通过记录日志的方式记录;或者通过记录历程表的方式进行记录。

关于oracle中按时间排序问题,请教!!急!!!
你的意思其实是按ontentid除去重复, 取时间最新的数据;有两种方法可以:第一种:select a.* from TAB a where a.contentid exists (select t.contentid,max(t.lastmodifytime) from TAB t where t.contentid = a.contentid group by t.contentid )order by a.lastmodifytime desc ;第二种...

怎么实现oracle数据库某个表中某一列中日期的批量修改,而不修改时间...
需要用update语句。如test表中有如下数据:要将begintime改成当前日期时间,可用如下语句:12 update test set begintime=sysdate;commit;更新后结果:

Oracle如何从一个表取时间最大值去更新另一个表?
update course set s_data=(select s_date from Student where s_no = 'sooo1'),s_course =( select s_course from Student where s_no = 'sooo1') where s_no = 's0001'

相似回答