一枚小菜 2014年02月08日
sql执行问题
某个存储过程:

create proc A
@a int
AS

--执行一系列操作

insert into t values(@a)

--执行存储过程B

GO

create proc B
@a int
as

if EXISTS (select * from t where id=@a)
begin
--执行操作C
end
go

现在有这么个问题,按照道理说执行存储过程A
各语句顺序执行,执行存储过程B时肯定能执行到EXISTS 里面的语句,因为在存储过程A
中已经插入了id=@a的记录。
但是现实中这样的存储过程会出现问题,EXISTS 里面的语句可能执行不到。
存储过程A中可能还没执行完insert into t values(@a),或者数据库中还没有提交上就执行到存储过程B中了,我想应该是这样造成的。
交代一下背景,存储过程A调用频率比较高,可能存在并发调用。


出现这样的问题,应该怎么处理呢?有什么方法啊?

请大神指导!



...全文
100 点赞 收藏 2
写回复
2 条回复

还没有回复,快来抢沙发~

发动态
发帖子
MS-SQL Server
创建于2007-09-28

1.4w+

社区成员

25.3w+

社区内容

MS-SQL Server相关内容讨论专区
社区公告
暂无公告