永发信息网

oracle能查询出来这条记录是什么时间添加的吗?有rowtime么哈哈

答案:1  悬赏:40  手机版
解决时间 2021-12-19 21:31
  • 提问者网友:情歌越听越心酸
  • 2021-12-19 00:15
oracle能查询出来这条记录是什么时间添加的吗?有rowtime么哈哈
最佳答案
  • 五星知识达人网友:思契十里
  • 2022-01-05 21:34
用sql语句查看oracle表每条记录的创建时间(ora_rowscn)
有时要查看表中的那条记录是什么时候创建的,有的会去用logminer去查看,有的会用闪回查询,其实很简单,不用那么麻烦,oracle的建每张表时都会建一个隐含的字段ora_rowscn,看到这个字段的名字,有写人会想到scn?对了,oracle在向表中插入记录时会记录插入记录时当前数据库的scn,那么聪明的你很快就会想到,既然有每条记录的scn,那么通过scn不就能查到每条记录的创建时间啦?全对!
只要一句话,就可以轻松查看表记录的生成时间,相信这个应该会有帮助的!
举个例子:
select to_char(scn_to_timestamp(ORA_ROWSCN),'yyyy-mm-dd hh24:mi:ss') insert_time from scott.emp;
结果将会看到emp表中每条记录创建时的时间。
默认情况下,每行记录的ORA_ROWSCN是基于Block的,这样是不准确的,除非在建表的时候执行开启行级跟踪(create table … rowdependencies),这样就会是在行级记录scn。
所以要想查看准确的记录创建时间则在建表时要加rowdependencies选项!
转自博客园:@xuanyuanvista
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯