execute执行后 可以回滚
commit提交后 不可以回滚
其实Oracle提交数据是分两步 *** 作的,第一步execute执行,第二步commit提交。对应的PL\SQL也是要先点execute执行,执行后再点commit提交。
但是 commit提交后 可以用闪回查询恢复原来的数据 因为oracle会将近期的数据保存到快照中 如:
SELECT FROM TABLE_1 AS OF TIMESTAMP TO_TIMESTAMP('20080606 20:00:00','YYYYMMDD HH24:MI:SS');
这里'20080606 20:00:00'就是你想恢复数据到哪个时间状态 TABLE_1是数据库的表名 这样查询到的数据就是执行更新 *** 作之前的数据
e数据库服务器就足够了,这时你已经拥有oracle客户端的功能。(1)你可以通过第三方软件:如
plsql
developer(非常强大的oracle数据库 *** 作软件)来 *** 作oracle数据库;(2)当然装完oracle数据库服务器以后,你也可以通过控制台来 *** 作,步骤如下:开始-〉运行-〉cmd(打开控制台窗口)-〉敲入
sqlplus
->输入正确的用户名密码(如scott/tiger)就可以 *** 作了。
装完oracle数据库服务器以后,如果你还装oracle客户端(client),那么你在连接数据库的时候记得加上完整的数据库服务名:如scott/tiger@127001:1521/yourinstancename
这样也能保证正确的 *** 作数据库了。
另外,虚机团上产品团购,超级便宜
已经提交的事务即在进行update或insert *** 作后,进行了commit的 *** 作。
1、如,有以下两个语句:
update test set id=3 where id=2;commit;insert into test values (4,'王五');
commit;
2、如果进行了update及insert *** 作后不进行提交的话,那么修改或插入的数据只在当前session有效,并不会写入数据库,只有当commit(提交)后,才会生效。
CREATE OR REPLACE TRIGGER TRG_TEST_A
BEFORE INSERT ON TEST_A
FOR EACH ROW
BEGIN
IF INSERTING THEN
:newA := nvl(:newB,0) nvl(:newC,0);
END IF;
END TRG_TEST_A;
以上就是关于oracle 提交数据,怎么回滚全部的内容,包括:oracle 提交数据,怎么回滚、Oracle数据库基本 *** 作步骤是怎样的呢、oracle数据库中什么是已经提交的事务等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)