首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【DB笔试面试499】ORA_ROWSCN函数的作用是什么?

【DB笔试面试499】ORA_ROWSCN函数的作用是什么?

作者头像
小麦苗DBA宝典
发布2019-09-30 16:09:06
9100
发布2019-09-30 16:09:06
举报
题目部分

在Oracle中,ORA_ROWSCN函数的作用是什么?

答案部分

对于每一行数据,ORA_ROWSCN返回每一行最近被修改的大概时间,可用于查询表最后一次被执行DML操作的时间。由于Oracle通过事务提交对行所在数据块来进行SCN(System Change Number,系统改变号,一个由系统内部维护的序列号。当系统需要更新的时候自动增加,它是系统中维持数据的一致性和顺序恢复的重要标志)的跟踪,所以,它不精确。可以通过在创建表时使用行级别的依赖跟踪来获得一个更加精确的SCN。

在对视图进行查询时,不能使用ORA_ROWSCN函数,但对于视图的基表是可以使用ORA_ROWSCN函数的,也能在UPDATE或DELETE语句的WHERE子句中使用ORA_ROWSCN函数。ORA_ROWSCN虽然不能用于闪回查询,但是可以用闪回版本查询来代替ORA_ROWSCN。ORA_ROWSCN也不能用于外部表。

ORA_ROWSCN函数的使用示例如下所示:

SYS@lhrdb> CREATE TABLE AA (COL  VARCHAR2(255));
Table created.
SYS@lhrdb> INSERT INTO AA (COL) VALUES ('1');
1 row created.
SYS@lhrdb> INSERT INTO AA (COL) VALUES ('2');
1 row created.
SYS@lhrdb> COMMIT;
Commit complete.
SYS@lhrdb> SELECT COL,TO_CHAR(ORA_ROWSCN),TO_CHAR(SCN_TO_TIMESTAMP(ORA_ROWSCN),'YYYY-MM-DD HH24:MI:SS') CHR_DATE FROM  AA;
COL        TO_CHAR(ORA_ROWSCN)                      CHR_DATE
-------- -----------------------------       -------------------
1          5038627                                  2016-08-17 16:38:30
2          5038627                                  2016-08-17 16:38:30

本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-02-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DB宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档