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

 我来答
帐号已注销
2019-08-03 · TA获得超过11.9万个赞
知道小有建树答主
回答量:109
采纳率:0%
帮助的人:4.6万
展开全部

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

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

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

刺友互
高粉答主

2019-07-17 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:69.8万
展开全部

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;本周一。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pieryon
推荐于2016-05-03 · 知道合伙人数码行家
pieryon
知道合伙人数码行家
采纳数:14411 获赞数:166864
获取软件设计师高级职称 万达金融最佳创新奖

向TA提问 私信TA
展开全部
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)两个值,修改其中的某一条记录然后再去查询那个值发现发生变化的只是被修改那条记录的这两个值发生了变化,而在同一个块中没有被修改的其它记录这两个值是不会产生变化的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
badkano
2013-04-27 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144777 获赞数:885365
团长

向TA提问 私信TA
展开全部
select LAST_DDL_TIME from user_objects where object_type='TABLE' and object_name='表名'

替换表名即可,英文表名注意要用大写字母
追问
如果不是分区表,对表做DML应该不行吧
追答
估计你说的,只能用触发器实现吧
还得开审计,如果数据插入频繁的话,估计开销很大
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mk_misty
2013-04-27 · TA获得超过176个赞
知道答主
回答量:35
采纳率:0%
帮助的人:21.7万
展开全部
首先你的那张表得有表示记录更新时间的字段,
建个触发器,每次新增、修改表中记录时,自动添加该字段值为系统时间sysdate
然后你查看该记录的这个字段即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式