ALTER proc [dbo].[showdingdan]
@username varchar(50),as
select @bh=[dbo].[f_NextBH]()insert into dingdan (bianhao,username,)
values (@bh,@username)函数是:ALTER FUNCTION [dbo].[f_NextBH]()
RETURNS char(12)
AS
BEGIN
    DECLARE @dt CHAR(6)
    SELECT @dt= CONVERT(CHAR(6), GETDATE(), 12)
    RETURN(
        SELECT @dt+RIGHT(1000001+ISNULL(RIGHT(MAX(bianhao),6),0),6) 
        FROM dingdan WITH(XLOCK,PAGLOCK)
        WHERE bianhao like @dt+'%')
END当同时有两个用户(A,B)调用存存储过程showdingdan ,A执行到select @bh=[dbo].[f_NextBH]()得到@bh值, 但还没有执行insert语句,与此同时B执行到select @bh=[dbo].[f_NextBH]() 。那他岂不是得到与A用户一样的@bh值了。。这个算并发吗?或者是我哪里理解错了,知道的朋友说下,无限感谢。