SQL面试题

noteasytoregister 2010-09-12 09:48:24
有两个表T1和T2,如何在同一个事务中在这两个表中同时插入数据?
...全文
86 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
noteasytoregister 2010-09-12
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 hao1hao2hao3 的回复:]

引用 7 楼 noteasytoregister 的回复:
引用 6 楼 bancxc 的回复:

理论上没有同时发生的事情,CPU执行指令也是一条一条的.引用 5 楼 noteasytoregister 的回复:
个人觉得同时不好理解,我认为楼上的方法都是有先后的。

对啊,除非是多CPU了,应该是我想复杂了。


是你想复杂了,也有可能是他的表达不是很精确。他说的应该就是事……
[/Quote]
同意!
bancxc 2010-09-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 noteasytoregister 的回复:]

对啊,除非是多CPU了,应该是我想复杂了。
[/Quote]
hao1hao2hao3 2010-09-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 noteasytoregister 的回复:]
引用 6 楼 bancxc 的回复:

理论上没有同时发生的事情,CPU执行指令也是一条一条的.引用 5 楼 noteasytoregister 的回复:
个人觉得同时不好理解,我认为楼上的方法都是有先后的。

对啊,除非是多CPU了,应该是我想复杂了。
[/Quote]

是你想复杂了,也有可能是他的表达不是很精确。他说的应该就是事物的原子性。要么都执行,要么都不执行。
noteasytoregister 2010-09-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 bancxc 的回复:]

理论上没有同时发生的事情,CPU执行指令也是一条一条的.引用 5 楼 noteasytoregister 的回复:
个人觉得同时不好理解,我认为楼上的方法都是有先后的。
[/Quote]
对啊,除非是多CPU了,应该是我想复杂了。
bancxc 2010-09-12
  • 打赏
  • 举报
回复
理论上没有同时发生的事情,CPU执行指令也是一条一条的.[Quote=引用 5 楼 noteasytoregister 的回复:]
个人觉得同时不好理解,我认为楼上的方法都是有先后的。
[/Quote]
noteasytoregister 2010-09-12
  • 打赏
  • 举报
回复
个人觉得同时不好理解,我认为楼上的方法都是有先后的。
bancxc 2010-09-12
  • 打赏
  • 举报
回复
BEGIN TRY
BEGIN TRANSACTION;
--------XXXXXXXXXXXXXXxxx
COMMIT TRANSACTION;
END TRY
BEGIN CATCH
Rollback tran
END CATCH;
  • 打赏
  • 举报
回复
如果程序已经发布了,可以用触发器一表触发另一表
水族杰纶 2010-09-12
  • 打赏
  • 举报
回复
set xact_abort on
begin tran
INSERT INTO t1 VALUES (1)
INSERT INTO t2 VALUES (2)
commit tran
hao1hao2hao3 2010-09-12
  • 打赏
  • 举报
回复


begin tran
insert into t1(...) values(...)
if @@error <>0
begin
rollback tran
end
else
insert into t2(...) values(...)
if @@error <>0
begin
rollback tran
end
else
commit tran
end



34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧