ora_rowscn伪列的用途

ora_rowscn

对于每一行数据,ora_rowscn返回每一行最近被修改的大概时间.这对于判断一行数据

大概是在什么时间被修改的还是有用的.因oracle是通过事务提交对行所在数据块来

进行scn的跟踪的所以说它不精确.可以通过在创建表时使用行级别的依赖跟踪来获得

一个更加精确的scn.create table ... norowdependencies|rowdependencies

在对视图进行查询时不能使用ora_rowscn.但对于视图的基表是可以使用ora_rowscn.

也能在update或delete语句中的where子句中使用ora_rowscn

ora_rowscn不能用于回闪查询,但是可以用回闪版本查询来代替ora_rowscn.

ora_rowscn也不能用于外部表

获取行被修改的大根的scn

SQL> select ora_rowscn,t.test_id from test_jy t;

ORA_ROWSCN               TEST_ID

---------- ---------------------

    625591                     3

通过scn来获取修改行记录大概的时间

SQL> select scn_to_timestamp(ora_rowscn),t.test_id from test_jy t;

SCN_TO_TIMESTAMP(ORA_ROWSCN)                                                                   TEST_ID

-------------------------------------------------------------------------------- ---------------------

20-12月-12 06.23.22.000000000 下午                                                                   3

也可以通过时间来获得scn

SQL> select timestamp_to_scn(scn_to_timestamp(ora_rowscn)),t.test_id from test_jy t;

TIMESTAMP_TO_SCN(SCN_TO_TIMEST               TEST_ID

------------------------------ ---------------------

                        625590                     3

时间: 2024-10-28 03:49:14

ora_rowscn伪列的用途的相关文章

oracle 中的伪列和表

1.oracle的伪列 oracle系统为了实现完整的关系数据库功能,系统专门提供了一组称为伪列(Pseudocolumn)的数据库列,这些列不是在建立对象时由我们完成的,而是在我们建立时由Oracle完成的.Oracle目前常见的伪列:  currval 和 nextval 使用序列号的保留字          CURRVAL:返回当前sequence值         NEXTVAL:增加sequence并返回下一个值  一般用法:   sequence.CURRVAL   sequence

Oracle Rownum伪列详解

oracle insert sql table jsp 咨询 Rowid 与 Rownum 虽都被称为伪列,但它们的存在方式是不一样的,rowid 可以说是物理存在的,表示记录在表空间中的唯一位置ID,在DB中唯一.只要记录没被搬动过,rowid是不变的.rowid 相对于表来说又像表中的一般列,所以以 rowid 为条件就不会有 rownum那些情况发生. rownum不能以任何基表的名称作为前缀. 对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1

浅析SQL Server数据库中的伪列以及伪列的含义

原文:浅析SQL Server数据库中的伪列以及伪列的含义   本文出处:http://www.cnblogs.com/wy123/p/6833116.html      SQL Server中的伪列 下午看QQ群有人在讨论(非聚集)索引的存储,说,对于聚集索引表,非聚集索引存储的是索引键值+聚集索引键值:对于非聚集索引表,索引存储的是索引键值+RowId,这应该是一个常识,对此不作具体详细阐述.这里主要是提到的RowId引起了一点思考.那么,这个RowId是个什么玩意?能不能更加直观一点来看看

伪列应用 - 数据转存和下推

标签 PostgreSQL , FDW , 伪列 , function pushdown , DS , 时序数据 背景 金融.气象.物联网.互联网等行业,有特别多的时序数据,例如股票的交易数据,气象传感器的采集数据,车联网的轨迹数据,互联网的FEED数据,都具有非常强的时序属性. 时序数据如何有效的存储.方便的使用呢? 例如这样的写入 create table xx (xxx) ts interval day; insert into table values (x,x,x,x) ; 数据可以根

[20151103]versions伪列.txt

[20151103]versions伪列.txt --经常忘记做一个记录. SELECT versions_starttime, versions_endtime, versions_xid, versions_operation,        versions_startscn, versions_endscn, empno, ename, job, mgr, hiredate,        sal, comm, deptno   FROM emp        VERSIONS BETW

MySQL之伪列实现与实践

-------------------------------------------------------------------------------------------------正文-------------------------------------------------------------------------------------------------------------- 问题来源:基情 问题描述:看图说明一切 建表语句与模板数据: 点击(此处)折叠或

SQL Server数据库中伪列及伪列的含义详解

SQL Server中的伪列 下午看QQ群有人在讨论(非聚集)索引的存储,说,对于聚集索引表,非聚集索引存储的是索引键值+聚集索引键值:对于非聚集索引表,索引存储的是索引键值+RowId,这应该是一个常识,对此不作具体详细阐述. 这里主要是提到的RowId引起了一点思考. 那么,这个RowId是个什么玩意?能不能更加直观一点来看看RowId的信息?代表什么含义?这个当然也是可以的. Oracle中的表中有一个伪列的概念,就是在查询表的时候加上select rowid,* from Table,会

【SQL 学习】LEVEL 伪列

SQL> select level, employee_id ,manager_id ,first_name ,last_name   2  from emp   3  start with employee_id =1   4  connect by prior employee_id = manager_id   5  order by level;      LEVEL EMPLOYEE_ID MANAGER_ID FIRST_NAME LAST_NAME               --

关于ORA_ROWSCN 的一点研究

10g里为表新增加了一个伪列ORA_ROWSCN先来简单理解一下ORA_ROWSCN的实现原理.我们知道,每个Block在头部是记录了该block最近事务的SCN的,所以默认情况下,只需要从block头部直接获取这个值就可以了,不需要其他任何的开销.但是这是不精确的,一个block中会有很多行记录,每次事务不可能影响到整个block中所有的行,所以这是一个不精准的估算值,同一个block的所有记录ORA_ROWSCN都会是相同的,基本上没有多大的使用价值, 主要是这么几点:1.默认情况,ora_