sql自定义ID问题
具体如下:ALTERfunction[dbo].[NewBaseID](@TableNamenvarchar(20))returnsnvarchar(20)asbegin...
具体如下:
ALTER function [dbo].[NewBaseID]
(
@TableName nvarchar(20)
)
returns nvarchar(20)
as
begin
declare @BaseID nvarchar(20)
if @TableName = 'sys_User' begin
select @BaseID=max(BaseID)+1 from sys_User
end
return @BaseID
end
想请问下各位前辈们,这样做会不会有什么问题啊,比如有没有可能多个并发同时执行这个功能,那么就会出现多个相同的BaseID了?
declare @BaseID int
select @BaseID = MAX(BaseID)+1 from sys_User
insert into sys_User(BaseID, value)
values (@BaseID, 'aaa')
请问各位大侠们,这样做会不会有什么问题,比如多个并发下会出现BaseID相同的情况? 展开
ALTER function [dbo].[NewBaseID]
(
@TableName nvarchar(20)
)
returns nvarchar(20)
as
begin
declare @BaseID nvarchar(20)
if @TableName = 'sys_User' begin
select @BaseID=max(BaseID)+1 from sys_User
end
return @BaseID
end
想请问下各位前辈们,这样做会不会有什么问题啊,比如有没有可能多个并发同时执行这个功能,那么就会出现多个相同的BaseID了?
declare @BaseID int
select @BaseID = MAX(BaseID)+1 from sys_User
insert into sys_User(BaseID, value)
values (@BaseID, 'aaa')
请问各位大侠们,这样做会不会有什么问题,比如多个并发下会出现BaseID相同的情况? 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询