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
当同时有两个用户执行存储过程时,这时表里同时插入的两个biaohao字段值会不会一样?而且我biaohao字段是主键呢...应该如何解决呢
@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
当同时有两个用户执行存储过程时,这时表里同时插入的两个biaohao字段值会不会一样?而且我biaohao字段是主键呢...应该如何解决呢
已经定义了排他型锁
若是真的到达同事插入的时候 其中一个是插不进入的
可以根据异常提示来处理