社区
Oracle
帖子详情
有关数据提交。
tw_cshn
2003-10-16 08:57:54
程序调用存储过程,如果在此期间内。程序异常退出
那么过程将继续在服务器上运行。这个时候执行完后,数据会全部回滚吗 。
在过程里没有写COMMIT也没有写ROLLBACK 。
...全文
45
7
打赏
收藏
有关数据提交。
程序调用存储过程,如果在此期间内。程序异常退出 那么过程将继续在服务器上运行。这个时候执行完后,数据会全部回滚吗 。 在过程里没有写COMMIT也没有写ROLLBACK 。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
LGQDUCKY
2003-10-17
打赏
举报
回复
存储过程里,只要没有设有COMMIT;
默然是回滚的。
tiger9382
2003-10-17
打赏
举报
回复
在默认情况下,数据库中的数据改变后都需要COMMIT命令进行提交,我记得好象有个开关,对这个开关进行设置,就可以实现在数据库中不需执行COMMIT命令而自动提交了
tw_cshn
2003-10-17
打赏
举报
回复
我做了个实验。我用程序开始运行过程。然后我再把机器的网线拔掉,
程序和数据库失去了联系。过了段时间我发现数据并没有写入,是正确的。
我想知道会不会有特殊情况会造成数据提交,谢谢
tiger9382
2003-10-17
打赏
举报
回复
关注ING:如果存储过程中没有执行COMMIT,但是我在程序中调用了存储过程,然后在程序中执行COMMIT命令,这样数据库中的数据会被提交吗?
tw_cshn
2003-10-16
打赏
举报
回复
是不会提交吧,我就是希望不提交?我在这个里面修改了重要的数据,但是我是不希望提交的,就算程序运行完后我也不提交,都是在程序里面回滚事物的。
我就是怕有什么其他的原因会造成数据提交 .
我在过程里没有写COMMIT,也没有ROLLBACK。句这样写的。
呵呵,看到了神仙!
pengdali
2003-10-16
打赏
举报
回复
全部回滚?
看你的代码怎么写了。默认这样会回滚。
create table terror(a int);
/
create or replace procedure error(a in varchar2)
as
begin
insert into terror values(9999);
insert into terror values(a);
end;
/
exec error('xx');
/
select * from dali.terror;
/
tsj68
2003-10-16
打赏
举报
回复
一般情况下会回滚.
Oracle
17,090
社区成员
55,238
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章