社区
Oracle
帖子详情
多表事务问题
Dennis0529
2012-03-20 05:20:17
a(aid,a1,a2...)
b(bid,aid,b1,b2...)
c(cid,aid,bid,c1,c2...)
要求在一个事务中完成三张表的数据新增!
各位大人给个思路吧,谢谢
...全文
64
11
打赏
收藏
多表事务问题
a(aid,a1,a2...) b(bid,aid,b1,b2...) c(cid,aid,bid,c1,c2...) 要求在一个事务中完成三张表的数据新增! 各位大人给个思路吧,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Dennis0529
2012-03-22
打赏
举报
回复
[Quote=引用 10 楼 huan_lxyd 的回复:]
同一个事务中未提交的数据是可以查询到的啊。。
[/Quote]
采用 returing into 可以获取到的,呵呵
用存储过程解决问题了
smartzhai123
2012-03-21
打赏
举报
回复
a表的aid是序列产生的吧,可以用 序列.currval表示就行啊
bayueguihuaxiang
2012-03-21
打赏
举报
回复
好像不行吧
除非把数据库设置为未提交读
Dennis0529
2012-03-21
打赏
举报
回复
呵呵,谢谢大家啊,可能我没有描述清楚
说明如下:
a(aid,a1,a2...)
b(bid,aid,b1,b2...)
c(cid,aid,bid,c1,c2...)
insert b 时 aid是a表中最新插入的数据,c表一样,由于事务没有commit,不知道如何获取最新insert 的a表的aid或者b表的bid
不知道这样描述清楚没 ?
huan_lxyd
2012-03-21
打赏
举报
回复
在编程语言中将事务设置为手动提交,执行完成3个insert后再提交。
我心飞翔
2012-03-21
打赏
举报
回复
如果直接操作数据库,写PL/SQL 存储过程,最后commit,就是在一个事务中。
如果是在编程语言中处理,编程语言中有特定的开始和结束事务的类方法。
huan_lxyd
2012-03-21
打赏
举报
回复
同一个事务中未提交的数据是可以查询到的啊。。
lxyzxq2008
2012-03-20
打赏
举报
回复
[Quote=引用楼主 dennis0529 的回复:]
a(aid,a1,a2...)
b(bid,aid,b1,b2...)
c(cid,aid,bid,c1,c2...)
要求在一个事务中完成三张表的数据新增!
各位大人给个思路吧,谢谢
[/Quote]
您的问题是啥啊?
没人说一个事务只能更新一张表啊
youqi1984
2012-03-20
打赏
举报
回复
存储过程。
三条insert .本身事务处理
jdsnhan
2012-03-20
打赏
举报
回复
一个事务?写三个insert,然后一起commit就行了
iqlife
2012-03-20
打赏
举报
回复
????
commit
rollback
不能满足?
thinkphp3.2.3(5以下)的
事务
问题
(
事务
回滚无效、
多表
事务
等)
本文主要解决tp3.2.3
事务
回滚失效,
多表
事务
,数据库读写分离时
事务
报错等
问题
!!!
Oracle
事务
流程解读(
事务
表,
事务
槽)
事务
表:
事务
表存放在undo段头部(undo段头块),每一个undo段最多可以存放47个
事务
。
事务
表按行存放
事务
记录,每行一个
事务
记录。
事务
开始后,服务进程分配一个XID,将
事务
信息(XID UBA)存放在undo的段头块。 Oracle尽量一个
事务
使用一个回滚段,如果
事务
太多,会出现回滚段重用,多个
事务
使用同一个回滚段。并且Oracle会均匀的将
事务
分配在回滚段中。 查看当前
事务
信息 se...
【
事务
与并发】- 不同
事务
读取相同数据
问题
在加了
事务
的接口中,不同的业务或者是出现并发的时候,发现了一些SQL读取
问题
,两个都被
事务
包裹的方法,各自是隔离的,如果一方的
事务
延时提交,就会导致另一方读取出来的数据相同,并不是修改后的数据。
分布式
事务
解决方案之本地消息表
描述分布式
事务
之前,先了解下
事务
是什么。
事务
就是一组操作构成的可靠的独立的工作单元,要么全部执行成功,要么全部执行失败。分布式就是一个业务由多个操作完成,这些操作又分布在不同的服务器上。简单来说,分布式
事务
就是分布式系统中的
事务
。本文描述了本地消息表如何解决分布式
事务
的关键流程,在具体业务操作时候,可能还有会一些
问题
,比如消息发送失败、下游业务处理失败等
问题
,这些都需要具体
问题
具体分析。在遇到分布式一致性
问题
的时候,结合实际的业务情况选择最适合的分布式
事务
解决方案。
【手动
事务
】SpringMVC手动提交
事务
(声明式
事务
)同时对多个表插入数据,异常全部回滚
之前关于Spring
事务
只是简单的了解,直接在项目的applicationContext里面直接配置了
事务
管理之后,就不用关心
事务
的提交了,spring会帮我们自动提交
事务
,在异常时直接抛出运行时异常了。 但是有时候在项目中需要一系列连续的操作,比如对多个表同时执行插入新数据的操作,在其中一个出现异常时,就全部回滚,这时原配置文件里的的自动提交
事务
就不能符合需求了。 但是手动提交
事务
又不懂,又开始...
Oracle
17,086
社区成员
55,238
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章