mysql 流水号并发问题如何解决

低调华龙 2011-10-25 04:57:40
网上找了许多,都是sql 用的存储过程,
希望有用MySql解决的给指导下
谢谢
...全文
182 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
低调华龙 2011-10-26
  • 打赏
  • 举报
回复
还是没有人知道吗?
q198708wyp 2011-10-26
  • 打赏
  • 举报
回复
上面这个是存储过程代码 调用不会 再找我 对了上面这个是SQL05的
q198708wyp 2011-10-26
  • 打赏
  • 举报
回复
ALTER PROCEDURE [dbo].[Add_OutStore_Info]
@DOCUMENTCODE NVARCHAR(50),
@BUSSINESSCODE NVARCHAR(50),
@DODATE NVARCHAR(10),
@UNIT NVARCHAR(50),
@OPERATOR NVARCHAR(50),
@TYPE NVARCHAR(50),
@REMARK NVARCHAR(500),
@RESULT NVARCHAR(50) OUTPUT
AS
BEGIN
SET @RESULT='FAILED'
DECLARE @LASTCODE NVARCHAR(50),@TEMP INT
SELECT @LASTCODE=MAX(Code) FROM tblOutStore WHERE Code LIKE CONVERT(NVARCHAR(8),GETDATE(),112)+'%'
IF(LEN(@LASTCODE)=0 OR @LASTCODE IS NULL)
BEGIN
SET @LASTCODE=CONVERT(NVARCHAR(8),GETDATE(),112)+'00001'
END
ELSE
BEGIN
SET @TEMP=CONVERT(INT,SUBSTRING(@LASTCODE,9,5))+1
IF(LEN(@TEMP)=4)
BEGIN
SET @LASTCODE=CONVERT(NVARCHAR(8),SUBSTRING(@LASTCODE,1,8))+'0'+CONVERT(NVARCHAR(5),@TEMP)
END
ELSE IF(LEN(@TEMP)=3)
BEGIN
SET @LASTCODE=CONVERT(NVARCHAR(8),SUBSTRING(@LASTCODE,1,8))+'00'+CONVERT(NVARCHAR(5),@TEMP)
END
ELSE IF(LEN(@TEMP)=2)
BEGIN
SET @LASTCODE=CONVERT(NVARCHAR(8),SUBSTRING(@LASTCODE,1,8))+'000'+CONVERT(NVARCHAR(5),@TEMP)
END
ELSE IF(LEN(@TEMP)=1)
BEGIN
SET @LASTCODE=CONVERT(NVARCHAR(8),SUBSTRING(@LASTCODE,1,8))+'0000'+CONVERT(NVARCHAR(5),@TEMP)
END
END
INSERT INTO tblOutStore VALUES(@LASTCODE,@DOCUMENTCODE,@BUSSINESSCODE,@DODATE,@UNIT,@OPERATOR,@TYPE,@REMARK)
SET @RESULT='SUCCESS&'+@LASTCODE
END
低调华龙 2011-10-26
  • 打赏
  • 举报
回复
在线等啊,江湖急救啊兄弟们
低调华龙 2011-10-26
  • 打赏
  • 举报
回复
我要的是没有mysql的啊,有没有呢
低调华龙 2011-10-25
  • 打赏
  • 举报
回复
难道没有人知道吗?
低调华龙 2011-10-25
  • 打赏
  • 举报
回复
自己顶
高手指导啊
山东蓝鸟贵薪 2011-10-25
  • 打赏
  • 举报
回复
先测试一下试试吧

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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