发布网友 发布时间:2022-04-19 23:39
共6个回答
懂视网 时间:2022-04-08 01:16
SQL> create table test(id number,name varchar2(10),gender varchar2(5)); 表已创建。 SQL> insert into test values(1,‘宋春风‘,‘男‘); 已创建 1 行。 SQL> insert into test values(2,‘叶民‘,‘男‘); 已创建 1 行。 SQL> insert into test values(3,‘白冰‘,‘男‘); 已创建 1 行。 SQL> insert into test values(4,‘方巍森‘,‘男‘); 已创建 1 行。 SQL> insert into test values(5,‘孙书祯‘,‘男‘); 已创建 1 行。 SQL> insert into test values(6,‘史波‘,‘男‘); 已创建 1 行。 SQL> commit; 提交完成。
利用下面的SQL就可以查处最近更改的数据。
SQL> SELECT ID,NAME,VERSIONS_STARTTIME,VERSIONS_ENDTIME,VERSIONS_OPERATION FROM TEST VERSIONS BETWEEN TIMESTAMP MINVALUE AND MAXVALUE WHERE VERSIONS_STARTTIME IS NOT NULL ORDER BY VERSIONS_STARTTIME DESC; ID NAME GENDE VERSIONS_STARTTIME VERSIONS_ENDTIME V ---------- ------ ----- ------------------------- ------------------------- - 6 史波 男 30-11月-11 04.02.28 下午 I 5 孙书祯 男 30-11月-11 04.02.28 下午 I 1 宋春风 男 30-11月-11 04.02.28 下午 I 3 白冰 男 30-11月-11 04.02.28 下午 I 2 叶民 男 30-11月-11 04.02.28 下午 I 4 方巍森 男 30-11月-11 04.02.28 下午 I 已选择6行。
修改几条数据和接下来的查询做对比。
SQL> UPDATE TEST SET GENDER=‘女‘ WHERE NAME=‘孙书祯‘; 已更新 1 行。 SQL> COMMIT; 提交完成。 SQL> UPDATE TEST SET GENDER=‘女‘ WHERE NAME=‘史波‘; 已更新 1 行。 SQL> COMMIT; 提交完成。
再次查询,被修改的数据就可以看到被修改和修改前的数据。
SQL> SELECT ID,NAME,GENDER,VERSIONS_STARTTIME,VERSIONS_ENDTIME, VERSIONS_OPERATION FROM TEST VERSIONS BETWEEN TIMESTAMP MINVALUE AND MAXVALUE WHERE VERSIONS_STARTTIME IS NOT NULL ORDER BY VERSIONS_STARTTIME DESC; ID NAME GENDE VERSIONS_STARTTIME VERSIONS_ENDTIME V ---------- ------ ----- ------------------------- ------------------------- - 6 史波 女 30-11月-11 04.15.07 下午 U 5 孙书祯 女 30-11月-11 04.14.31 下午 U 4 方巍森 男 30-11月-11 04.02.28 下午 I 3 白冰 男 30-11月-11 04.02.28 下午 I 2 叶民 男 30-11月-11 04.02.28 下午 I 1 宋春风 男 30-11月-11 04.02.28 下午 I 6 史波 男 30-11月-11 04.02.28 下午 30-11月-11 04.15.07 下午 I 5 孙书祯 男 30-11月-11 04.02.28 下午 30-11月-11 04.14.31 下午 I 已选择8行。
再修改几条数据后后查询。
SQL> delete from test WHERE NAME=‘史波‘; 已删除 1 行。 SQL> delete from test WHERE NAME=‘孙书祯‘; 已删除 1 行。 SQL> commit; 提交完成。 SQL> SELECT ID,NAME,GENDER,VERSIONS_STARTTIME,VERSIONS_ENDTIME, VERSIONS_OPERATION FROM TEST VERSIONS BETWEEN TIMESTAMP MINVALUE AND MAXVALUE WHERE VERSIONS_STARTTIME IS NOT NULL ORDER BY VERSIONS_STARTTIME DESC; ID NAME GENDE VERSIONS_STARTTIME VERSIONS_ENDTIME V ---------- ------ ----- ------------------------- ------------------------- - 5 孙书祯 男 30-11月-11 04.26.02 下午 D 6 史波 男 30-11月-11 04.26.02 下午 D 6 史波 女 30-11月-11 04.15.07 下午 30-11月-11 04.19.08 下午 U 5 孙书祯 女 30-11月-11 04.14.31 下午 30-11月-11 04.19.08 下午 U 2 叶民 男 30-11月-11 04.02.28 下午 I 3 白冰 男 30-11月-11 04.02.28 下午 I 4 方巍森 男 30-11月-11 04.02.28 下午 I 5 孙书祯 男 30-11月-11 04.02.28 下午 30-11月-11 04.14.31 下午 I 1 宋春风 男 30-11月-11 04.02.28 下午 I 6 史波 男 30-11月-11 04.02.28 下午 30-11月-11 04.15.07 下午 I 已选择10行。
通过以上小实验可以看出,VERSIONS_STARTTIME是数据被修改的起始时间,VERSIONS_ENDTIME是数据被修改后新数据的有效时间,也就是VERSIONS_STARTTIME和VERSIONS_ENDTIME时间段内,这条数据再没被修改过,如果VERSIONS_ENDTIME为空,就说明这天记录从VERSIONS_STARTTIME时间起再没被修改过。VERSIONS_OPERATION是修改状态,I代表INSERT,U代表UPDATE,D代表DELETE。此时如果想回滚INSERT的数据,只需要DELETE反向操作即可,如果想回滚UPDATE操作,将数据反向UPDATE回去即可,比如本实验已经可以看到进行UPDATE操作的是NAME为史波和孙书祯的两条记录,而且也可以看到进行UPDATE之前的数据他们的性别是男,所以只需要在做个反向UPDATE,将性别该为男即可实现回退,如果要回滚DELETE操作,同样做个INSERT操作,将删除的数据在插回去即可。
注:此SQL只能查询到回滚段内的信息,超出回滚段范围这个SQL就为力了,需要借助LOGMGR工具挖掘日志了(详见http://www.dbdream.org/?p=149)。
ORACLE查询表最近更改的数据
标签:
热心网友 时间:2022-04-07 22:24
1、打开PL/SQL Developer,输入正常的用户名密码后,选择数据库,然后正常连接。如下图。
2、正常登录后,在PL/SQL Developer中打开一个sql执行窗口,操作如下图1中标红的位置,选择"SQL Window"。
3、在新出现的空白窗口中输入正确的sql语句,如下图。
2、在出现数据结果集后,点击上图2中标红的按钮,出现新的对话框。这是要将数据结果集导出成各个不同的格式。
3、选择第一个"CSV file",这样导出的就是excel格式的数据集。
4、打开指定的文件夹,就可以看到刚刚导出的文件,双击该文件就可以正常打开,结果和数据库中查询完出来的结果是一致的。
热心网友 时间:2022-04-07 23:42
工具/材料:Management Studio。
1、首先在桌面上,点击“Management Studio”快捷方式。
2、之后在Management Studio窗口上,点击左上角“新建查询”选项。
3、接着在Management Studio窗口上,输入查询oracle数据对象被修改的记录的sql语句“select * from sys.objects order by modify_date desc”。
4、然后在Management Studio窗口上,点击左上方“执行”图标。
5、最后在Management Studio窗口上,显示查询数据对象被修改的记录成功。
热心网友 时间:2022-04-08 01:16
可以通过sql语句跟踪oracle数据库中的操作状态:热心网友 时间:2022-04-08 03:08
再拿个 SELECTED,或者那个 DELETEED 这两个临时表里面可以看到,求采纳,不明白可以加我热心网友 时间:2022-04-08 05:16
兄弟说在百ˉˊ度搜,『双面事˙务所』°可以咨询===============================Love to wordless, is the end, no matter how beautiful the story, there will be an end day, the result is unpredictable, but we have this90、教育!科学!学会读书,便是点燃火炬;每个字的每个音节都发射火星。——雨果