成都网站建设设计

将想法与焦点和您一起共享

oracle怎么提交存储 oracle 提交

Oracle中存储过程如何控制提交和回滚

commit; --提交

创新互联建站是一家网站设计公司,集创意、互联网应用、软件技术为一体的创意网站建设服务商,主营产品:响应式网站设计品牌网站制作成都营销网站建设。我们专注企业品牌在网站中的整体树立,网络互动的体验,以及在手机等移动端的优质呈现。成都网站设计、网站建设、外贸网站建设、移动互联产品、网络运营、VI设计、云产品.运维为核心业务。为用户提供一站式解决方案,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏析悦目的作品,网站的价值服务。

EXCEPTION WHEN OTHERS THEN --如果出错

ROLLBACK; --回滚

oracle 存储过程提交数据

一处简单的plsql匿名块就可以达到这个目的:

begin

for i in 1..10000 loop

insert into t values(i);

if(mod(i,1000)=0) then commit;

end if;

end loop;

end;

oracle的提交

oracle的提交用commit,一般commit用语update语句及insert语句中。

如,有以下两个语句:

update test set id=3 where id=2;

commit;

insert into test values (4,'王五');

commit;

如果进行了update及insert操作后不进行提交的话,那么修改或插入的数据只在当前session有效,并不会写入数据库,只有当commit(提交)后,才会生效。

Oracle存储过程,更新大量数据,如何循环分批次提交?

可通过以下方法:

以100条数据为例,如果海量数据可参考。

如test表中有如下数据:

现要将begintime改成当前时间,每10条提交一次。

可用如下存储过程:

declare 

i int;--定义变量

v_count int;--定义变量

v_loop int;--定义变量

begin

select count(*) into v_count from test;--计算表内数据总数

select ceil(v_count/10) into v_loop from dual;--计算需要循环次数

i:=1;--为i赋值

while i=v_loop loop--循环退出条件

update test set begintime=sysdate where begintime is null and rownum=10;--执行更新

commit;--提交

i:=i+1;--i依次加1

end loop;--结束循环

end;


分享文章:oracle怎么提交存储 oracle 提交
本文URL:http://chengdu.cdxwcx.cn/article/hhhddh.html