网站建设资讯

NEWS

网站建设资讯

oracle如何提交数据 oracle数据库提交

oracle 提交数据,怎么回滚

execute执行后 可以回滚

成都创新互联长期为超过千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为淅川企业提供专业的成都网站设计、网站制作,淅川网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

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是数据库的表名 这样查询到的数据就是执行更新操作之前的数据

oracle DBLink更新了另一个数据库数据后,怎么提交那条数据

这个commit应该是本机的,和dblink没什么关系,而且就算你找到的dblink的那个session那么也不行,以为这个session在dblink的操作完成后已经关闭了。

个人感觉不要这么远程insert,最好是调用一个那个数据库上的过程去insert这样的话,在那个过程中commit肯定是没有问题的。

如果必须要这么写,那么可以加入一条insert和一条delete

就是上面是正常insert的语句。

下面有一条delete(这条删除一个绝对不可能出现的一条试试)

按照你的说法,第二个事务提交时,第一个事务才能commit。可是这样会出现问题,因为如果你大量提交,那么数据库会因此夯住的,所以你看看第一个办法行不行,我觉得第一个办法还靠谱点。

如何向Oracle数据库表中进行大数据量的插入并提交?

你好!

一次折腾几千万的话,

那么设置一下,

20W了,

就自动提交一下。

set

autocommit

on;

set

autocommit

200000;

然后,假如你的目标数据库,

是归档的话,

可以

INSERT

/*+

append

*/

INTO

目标表

nologging

SELECT

*

FROM

源表@DBLINK;

commit;

set

autocommit

off;

假如你的

目标表

上面,

索引的话,

建议先删除

索引。

上面的

INSERT

语句执行完毕后,

再重建索引。

仅代表个人观点,不喜勿喷,谢谢。

oracle分批查询数据提交

几千行对 oracle 来说不是问题,可以一次提交

如果一定要这么做,有两种方式:

一,用游标打开,一行拼一个insert 语句,并计数;满100后提交

二,分页查询,每页100行 ,然后提交

我觉得:能一次提交的尽量不要分开提交,如果提交到一部分时候,出现问题了,提交的不能回滚了。增加了业务逻辑的复杂性。


分享文章:oracle如何提交数据 oracle数据库提交
路径分享:http://cdweb.net/article/hjppop.html