首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何排除Flashback查询结果集中未更改的字段?

如何排除Flashback查询结果集中未更改的字段?
EN

Database Administration用户
提问于 2020-10-03 08:03:17
回答 1查看 39关注 0票数 0

是否可以在Flashback查询结果集中排除未更改的字段?

假设我有下表

代码语言:javascript
复制
create table first_table
(
    id int generated as identity,
    name NVARCHAR2(1024),
    age smallint,
    notebook nclob,
    userpic clob,
    salary float
)

如果表有非常频繁的更新(例如,在notebook字段上),则在版本化查询之后

代码语言:javascript
复制
select ROWID, VERSIONS_OPERATION, VERSIONS_STARTSCN, VERSIONS_STARTTIME, VERSIONS_XID, id, name, age, notebook, userpic, salary
from FIRST_TABLE versions between scn 1469193 and 1482882;

将为每一行提取大量的用户值,即使它是相同的。

我能以某种方式避免这种情况,而不是为未更改的值获取NULL吗?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2020-10-03 12:31:10

是否有方法将未修改的字段排除在版本化响应中?

不怎么有意思。

闪回使用在UNDO中找到的信息。闪回数据存档将来自日志文件的结果存储在一个表中。

所以,当您执行Flashback查询时,您将得到所有的数据。

常用的方法是使用LAG + DECODE。但是,对于您的LOB列来说,恐怕这会有问题。

就我个人而言,我会把问题转嫁给UI (显示层)。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/276464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档