社区
疑难问题
帖子详情
存储过程事务
jwdream2008
2011-08-15 01:59:20
大侠:
需求如下:
一个主存储过程:Main_Proc,在主存储过程(Main_Proc)中分别调用两个子存储过程:Sub1_Porc和Sub2_Proc。如何做到:在调用两个子存储过程时,这两个数据库事务相互独立,即sub1_proc中出现错误,也不会影响sub2_proc中的操作?
不知可以否?
...全文
155
11
打赏
收藏
存储过程事务
大侠: 需求如下: 一个主存储过程:Main_Proc,在主存储过程(Main_Proc)中分别调用两个子存储过程:Sub1_Porc和Sub2_Proc。如何做到:在调用两个子存储过程时,这两个数据库事务相互独立,即sub1_proc中出现错误,也不会影响sub2_proc中的操作? 不知可以否?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fancy0529
2011-08-21
打赏
举报
回复
可以!
唐诗三百首
2011-08-19
打赏
举报
回复
分很多种情况的:
主SP中是否加set xact_abort on?
SP1中是否加set xact_abort on?
SP2中是否加set xact_abort on?
排列组合:2*2*2=8种情况,测试一下哪种是你要的.
DB牛牛
2011-08-19
打赏
举报
回复
这样的问题写个示例自己测一下就行,有问的时间,我相信你已经能测试明白了,而且记的也比较深
--小F--
2011-08-15
打赏
举报
回复
[Quote=引用 7 楼 jwdream2008 的回复:]
引用 6 楼 wufeng4552 的回复:
引用 5 楼 jwdream2008 的回复:
引用 4 楼 wufeng4552 的回复:
如果
你没有用
set xact_abort on 去自动回滚
被调用的存储过程发生严重错误时,调用它的存储过程可以捕获错误,并可以继续执行下去
如果错误比较严重,就算用 set xact_abort on 来自动回滚事务
也无法回滚
能……
[/Quote]
ROLLBACK 不COMMIT就可以了
jwdream2008
2011-08-15
打赏
举报
回复
[Quote=引用 6 楼 wufeng4552 的回复:]
引用 5 楼 jwdream2008 的回复:
引用 4 楼 wufeng4552 的回复:
如果
你没有用
set xact_abort on 去自动回滚
被调用的存储过程发生严重错误时,调用它的存储过程可以捕获错误,并可以继续执行下去
如果错误比较严重,就算用 set xact_abort on 来自动回滚事务
也无法回滚
能否给个示例!
create proc pr……
[/Quote]
请问:出错的子存储过程中的操作如何才能回滚啊?
水族杰纶
2011-08-15
打赏
举报
回复
[Quote=引用 5 楼 jwdream2008 的回复:]
引用 4 楼 wufeng4552 的回复:
如果
你没有用
set xact_abort on 去自动回滚
被调用的存储过程发生严重错误时,调用它的存储过程可以捕获错误,并可以继续执行下去
如果错误比较严重,就算用 set xact_abort on 来自动回滚事务
也无法回滚
能否给个示例!
[/Quote]
create proc proc_main
as
exec proc_a --如果有錯誤,proc_b 接着执行
exec proc_b
jwdream2008
2011-08-15
打赏
举报
回复
[Quote=引用 4 楼 wufeng4552 的回复:]
如果
你没有用
set xact_abort on 去自动回滚
被调用的存储过程发生严重错误时,调用它的存储过程可以捕获错误,并可以继续执行下去
如果错误比较严重,就算用 set xact_abort on 来自动回滚事务
也无法回滚
[/Quote]
能否给个示例!
水族杰纶
2011-08-15
打赏
举报
回复
如果
你没有用
set xact_abort on 去自动回滚
被调用的存储过程发生严重错误时,调用它的存储过程可以捕获错误,并可以继续执行下去
如果错误比较严重,就算用 set xact_abort on 来自动回滚事务
也无法回滚
水族杰纶
2011-08-15
打赏
举报
回复
可以.
chuanzhang5687
2011-08-15
打赏
举报
回复
路过,不懂,学习,帮顶!
jwdream2008
2011-08-15
打赏
举报
回复
帮忙啊!大侠!
SQLServer中的
存储过程
与
事务
存储过程
(Stored Procedure)是一组预编译的 SQL 语句的集合,它们被存储在数据库中,可以通过指定
存储过程
的名称并执行来调用它们。
存储过程
可以接受输入参数、输出参数,并且可以返回执行结果。
事务
(Transaction)是一组操作的集合,这些操作要么全部成功,要么全部失败。
事务
是一个不可分割的工作单位,它确保了数据的完整性和一致性。
存储过程
(Stored Procedure)是一组预编译的 SQL 语句的集合,它们被存储在数据库中,可以通过指定
存储过程
的名称并执行来调用它们。
MySQL
事务
和
存储过程
MySQL
事务
和
存储过程
。T1 在
事务
中两次读取某个范围的数据,而在两次读取之间,T2 对该范围的数据进行了。,在这个
事务
持续期间,禁止其他
事务
对这个字段进行更新(update)。
事务
就是将一组SQL语句放在同一批次内去执行如果一个SQL语句出错,则该批次内的所有SQL都将被取消执行。为了避免上面的各种并发问题,用隔离并发运行各个
事务
,使他们相互不受影响。同时运行的多个
事务
,如果没采用必要的隔离机制,就会发生以下各种问题。对于两个
事务
T1,T2,T1读取了一个字段
存储过程
中的
事务
存储过程
中的
事务
一、
存储过程
中使用
事务
的简单语法 在
存储过程
中使用
事务
时非常重要的,使用数据可以保持数据的关联完整性,在Sql server
存储过程
中使用
事务
也很简单,用一个例子来说明它的语法格式: 1 Create Procedure MyProcedure 2 3 ( @Param1 nvarchar(10), 4 5 @param2...
数据库
事务
&
存储过程
一、【
事务
概念】
事务
(Transaction)是指构成单一逻辑工作单元的操作集合,要么完整地执行,要么完全不执行。 1,如果
事务
中有的操作没有成功完成,则
事务
中的所有操作都需要被回滚,回到
事务
执行前的状态(要么全执行,要么全都不执行); 2,同时,该
事务
对数据库或者其他
事务
的执行无影响,所有的
事务
都好像在独立的运行。 二、【
事务
举例】 用一个常用的“A 账户向 B 账户汇钱”的例子来说...
MySQL
事务
及
存储过程
_mysql
事务
mysql的
存储过程
engine=innodb;表类型 必须是此种表类型才能支持
事务
begin 或者start transaction开始
事务
commit 提交
事务
(关闭
事务
)rollback 放弃
事务
(关闭
事务
)char 固定长度 varchar 不固定长度;AUTO_INCREMENT 自增字段使用delimiter创建
存储过程
:定义:简单的说,就是一组SQL语句集,功能强大,可以实现一些比较复...
疑难问题
22,296
社区成员
121,728
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章