事务的问题

dis11 2006-09-13 02:47:56
在存储过程中对表A进行操作,中间的过程可能要持续好几秒,

仅仅在开始时打开事务,在结束时关闭事务就可以避免这期间其他操作影响表A吗?
...全文
122 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gahade 2006-09-13
  • 打赏
  • 举报
回复
加事务只是保证你的数据完整性.

create table a(code varchar(10))
insert into a(code)
select 'aaa'

--开始一个事务,不commit
begin tran
update a
set code = 'bbb'

--启动另外一个进程执行插入操作不会锁住
insert into a(code)
select 'ddd'

--启动另外一个进程执行更新操作会锁住
update a
set code = 'ccc'

--启动另外一个进程执行删除操作会锁住
delete from a

--启动另外一个进程执行查询操作会锁住,加with(nolock)就不会锁住
select * from a
dis11 2006-09-13
  • 打赏
  • 举报
回复
怎么才能锁住这张表?
jiaojian843 2006-09-13
  • 打赏
  • 举报
回复
如果你没锁的话,其这操作是可以影响A表的啊,你说的这个无关,是如果你操作有问题时,可以rollback().
ldw701 2006-09-13
  • 打赏
  • 举报
回复
事务回滚。。。才能使操作无效
dis11 2006-09-13
  • 打赏
  • 举报
回复
?

34,873

社区成员

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

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