数据库并发问题

welcomgoodies 2007-06-15 06:59:24
CREATE procedure [dbo].[spCopyData]

as
declare @corpid int

BEGIN
SET NOCOUNT ON
DECLARE @ordernumber int

BEGIN TRY

BEGIN TRANSACTION
UPDATE test SET
@ordernumber = ordernumber = ordernumber + 1
WHERE corpid = 15
INSERT INTO test1(id,ordernumber)
VALUES (newid(),@ordernumber)
COMMIT TRANSACTION

END TRY
BEGIN CATCH
ROLLBACK TRANSACTION

END CATCH
END

这个存储过程从test表取ordernumber +1,然后更新test表的ordernumber ,再插入到test1表里,但是当几个用户来访问的时候出现test1表的ordernumber 重复了,怎么解决这个问题?

...全文
156 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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