当前位置: 首页 > 科技观察

使用视图快速获取闪回查询数据

时间:2023-03-13 02:28:43 科技观察

本文提供了视图的使用,帮助我们快速构建闪回查询内容,“历史数据”可以通过视图轻松获取。1.构建闪回查询视图需求说明1)准备employee表和salary表2)删除salary表中工作年限在1994年之前的记录3)创建视图查询删除salary表前的记录2.准备环境1)准备Employee表和salary表sec@ora10g>createtableemp(idnumber,namevarchar2(20),e_datedate);Tablecreated.sec@ora10g>createtablesalary(idnumber,salarynumber);Tablecreated.emp表包含员工ID,员工姓名和就业时间信息;salary该表包含员工ID和薪水信息。2)初始化数据insertintoempvalues(1,'Secooler',to_date('1991-01-01','yyyy-mm-dd'));insertintoempvalues(2,'Andy',to_date('1992-01-01','yyyy-mm-dd'));insertintoempvalues(3,'HOU',to_date('2010-01-01','yyyy-mm-dd'));insertintoempvalues(4,'盛文',to_date('2011-01-01','yyyy-mm-dd'));commit;insertintosalaryvalues(1,60000);insertintosalaryvalues(2,50000);insertintosalaryvalues(3,40000);insertintosalaryvalues(4,30000);commit;3)获取初始化数据内容sec@ora10g>select*fromemp;IDNAMEE_DATE------------------------------------------------------1Secooler1991010100:00:002Andy1992010100:00:003HOU2010010100:00:004Shengwen2011010100:00:00sec@ora10g>select*fromsalary;IDSALARY-------------------1600002500003400004300003。查询当前时间和SCN号,用于构造后续闪回查询1)查询当前时间sec@ora10g>selectsysdatefromdual;SYSDATE------------------2011080921:34:112)查询当前系统SCN号sec@ora10g>selectdbms_flashback.get_system_change_numberfromdual;GET_SYSTEM_CHANGE_NUMBER------------------------31413264。删除1994年工资表中的工作年限年之前的记录sec@ora10g>deletefromsalarywhereidin(selectidfromempwheree_datecommit;Commitcomplete.sec@ora10g>select*fromemp;IDNAMEE_DATE-------------------------------在salary表中1994年之前的员工信息已删除,提交数据修改5、创建视图和构造闪回查询删除之前数据的两种方法1)第一种方法:使用时间戳构造闪回查询视图sec@ora10g>createviewv_salary_timestampasselect*fromsalaryastimestampto_timestamp('2011-08-0921:34:11','YYYY-MM-DDHH24:MI:SS');Viewcreated.2)方法二:使用SCN构造闪回查询视图sec@ora10g>createviewv_salary_scnasselect*fromsalaryasofscn3141326;Viewcreated.6。使用视图获取闪回查询数据sec@ora10g>select*fromv_salary_timestamp;IDSALARY--------------------160000250000340000430000sec@ora10g>select*fromv_salary_scn;IDSALARY----------------------160000250000340000430000至此,两种构造视图的方法都成功获取了闪回查询的数据。顺利完成任务。7.总结Oracle的闪回查询功能本身就不用多说了。在使用视图对闪回查询语句进行“封装”之后,我们得到了另一个直观的便利。