本文提供了视图的使用,帮助我们快速构建闪回查询内容,“历史数据”可以通过视图轻松获取。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_date
