如何使用视图快速获得Flashback Query闪回查询数据
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,这篇文章主要介绍了如何使用视图快速获得Flashback Query闪回查询数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.构造
千家信息网最后更新 2025年02月05日如何使用视图快速获得Flashback Query闪回查询数据
这篇文章主要介绍了如何使用视图快速获得Flashback Query闪回查询数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
1.构造闪回查询视图需求描述
1)准备员工表和工资表
2)删除工资表中雇佣年限在1994年之前的记录
3)创建视图可以查询工资表删除之前的记录
2.准备环境
1)准备员工表和工资表
sec@ora10g> create table emp (id number,name varchar2(20), e_date date); Table created. sec@ora10g> create table salary (id number, salary number); Table created.
emp表包含员工ID、员工名字和雇佣时间信息;
salary表中包含员工ID和薪水信息。
2)初始化数据
insert into emp values (1,'Secooler',to_date('1991-01-01','yyyy-mm-dd')); insert into emp values (2,'Andy',to_date('1992-01-01','yyyy-mm-dd')); insert into emp values (3,'HOU',to_date('2010-01-01','yyyy-mm-dd')); insert into emp values (4,'Shengwen',to_date('2011-01-01','yyyy-mm-dd')); commit; insert into salary values (1,60000); insert into salary values (2,50000); insert into salary values (3,40000); insert into salary values (4,30000); commit;
3)获取初始化数据内容
sec@ora10g> select * from emp; ID NAME E_DATE ---------- ------------------------------ ----------------- 1 Secooler 19910101 00:00:00 2 Andy 19920101 00:00:00 3 HOU 20100101 00:00:00 4 Shengwen 20110101 00:00:00 sec@ora10g> select * from salary; ID SALARY ---------- ---------- 1 60000 2 50000 3 40000 4 30000
3.为构造后续的闪回查询查询当前的时间和SCN号
1)查询当前时间
sec@ora10g> select sysdate from dual; SYSDATE ----------------- 20110809 21:34:11 2)查询当前系统SCN号 sec@ora10g> select dbms_flashback.get_system_change_number from dual; GET_SYSTEM_CHANGE_NUMBER ------------------------ 3141326
4.删除工资表中雇佣年限在1994年之前的记录
sec@ora10g> delete from salary where id in ( select id from emp where e_date < to_date('1994','yyyy')); 2 rows deleted. sec@ora10g> commit; Commit complete. sec@ora10g> select * from emp; ID NAME E_DATE ---------- ------------------------------ ----------------- 1 Secooler 19910101 00:00:00 2 Andy 19920101 00:00:00 3 HOU 20100101 00:00:00 4 Shengwen 20110101 00:00:00 sec@ora10g> select * from salary; ID SALARY ---------- ---------- 3 40000 4 30000
此时,在salary表中1994年之前的员工信息已经被删除,并且数据修改已经提交。
5.两种方法创建视图构造闪回查询删除之前的数据
1)***种方法:使用时间戳来构造闪回查询视图
sec@ora10g> create view v_salary_timestamp as select * from salary as of timestamp to_timestamp('2011-08-09 21:34:11','YYYY-MM-DD HH24:MI:SS'); View created.
2)第二种方法:使用SCN构造闪回查询视图
sec@ora10g> create view v_salary_scn as select * from salary as of scn 3141326; View created.
6.使用视图获取闪回查询数据
sec@ora10g> select * from v_salary_timestamp; ID SALARY ---------- ---------- 1 60000 2 50000 3 40000 4 30000 sec@ora10g> select * from v_salary_scn; ID SALARY ---------- ---------- 1 60000 2 50000 3 40000 4 30000
到此,两种构造视图的方法都顺利的获得了闪回查询的数据。顺利的完成任务。
感谢你能够认真阅读完这篇文章,希望小编分享的"如何使用视图快速获得Flashback Query闪回查询数据"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
查询
视图
数据
员工
工资
方法
时间
篇文章
信息
准备
雇佣
年限
价值
任务
兴趣
内容
同时
名字
得了
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
java软件开发exe
qq服务器繁忙
数据库的个人总结
数据库权限分类
数据库 读锁
考网络技术还是信息安全技术
护苗 网络安全课全五集
无服务器微信表白墙
网络技术基础选修课
网络技术部的内容
网络安全的句子有哪些20字
广告宣传平台软件开发
刘印祥网络安全
维普是国内数据库吗
万和网络技术
湖北鸣客网络技术公司
非肿瘤数据库有哪些
工信加强网络安全工作
广州指趣互联网科技有限公司
我家亳州怎么老是服务器连接超时
中石化办公网络安全要求
如何查看数据库中的所有表
ios访问服务器
企业网络安全绘画临摹
赤峰软件开发定制
供电局电脑网络安全要注意什么
共享资源服务器
湖南凯衍网络技术
伊犁师范大学数据库
讯鹰网络技术有限公司