流水号 重复问题 [问题点数:40分,结帖人n29882942]

Bbs2
本版专家分:181
结帖率 100%
Bbs5
本版专家分:4846
Blank
蓝花 2016年3月 移动开发大版内专家分月排行榜第三
Bbs7
本版专家分:10517
Bbs1
本版专家分:15
Bbs1
本版专家分:0
Bbs11
本版专家分:214398
Blank
状元 2014年 总版技术专家分年内排行榜第一
Blank
榜眼 2013年 总版技术专家分年内排行榜第二
Blank
金牌 2014年8月 总版技术专家分月排行榜第一
2014年7月 总版技术专家分月排行榜第一
2014年6月 总版技术专家分月排行榜第一
2014年5月 总版技术专家分月排行榜第一
2014年4月 总版技术专家分月排行榜第一
2014年3月 总版技术专家分月排行榜第一
2014年1月 总版技术专家分月排行榜第一
2013年12月 总版技术专家分月排行榜第一
Blank
银牌 2013年10月 总版技术专家分月排行榜第二
2012年11月 总版技术专家分月排行榜第二
产生不重复流水号
    public static String generateID() {        return UUID.randomUUID().toString().replaceAll("-", "");    }
如何解决流水号重复
以下是一个产生<em>流水号</em>的SP,产生的<em>流水号</em>类似200601200001, 发现使用这个<em>流水号</em>的模块里偶尔会出现<em>重复</em>的单号.rn请问SP的执行是并行的还是队列方式?如果可以并发执行,估计有可能产生这种<em>问题</em>,能否设定这个SP执行完才能被再次调用?rn另外,使用相关模块的电脑是单机多用户系统,一台主机2人操作,会不会因此导致<em>流水号</em><em>重复</em>?rn请高手帮我诊断一下.rnrnrnCREATE PROCEDURE GetNewID rnrnAS rnrnDECLARE @TMP1 CHAR(4),@TMP2 CHAR(2),@TMP3 CHAR(2),@TMP4 CHAR(4),@TMP5 CHAR(4)rnrnSET @TMP1=LTRIM(RTRIM(STR(YEAR(GETDATE()))))rnSET @TMP2=LTRIM(RTRIM(STR(MONTH(GETDATE()))))rnSET @TMP3=LTRIM(RTRIM(STR(DAY(GETDATE()))))rnSELECT @TMP2=REPLICATE('0',2-LEN(@TMP2))+@TMP2rnSELECT @TMP3=REPLICATE('0',2-LEN(@TMP3))+@TMP3rnSELECT @tmpid=@TMP1+@TMP2+@TMP3rnselect @TMP1=RIGHT(RTRIM(MAX(NO)),4) from Int_Rcv_ID where LEFT(no,8)=@TMPIDrnSELECT @TMP1=ISNULL(@TMP1,'0000')rnSELECT @TMP4=LTRIM(RTRIM(STR(CAST(@TMP1 AS INT)+1)))rnSELECT @TMP4=REPLICATE('0',4-LEN(@TMP4))+@TMP4rnSELECT @TMPID=RTRIM(@TMPID)+@TMP4rnINSERT INTO Int_Rcv_ID (no) VALUES (@TMPID)rnSELECT @TMPID NEWIDrn
关于生成不重复流水号问题……
最近在网上查了很多关于生成<em>流水号</em>的方法,得到的答案都跟下面类同,都是先更新后查询,如下:rnrn假设你就是使用SQL Server,以它的默认事务控制级别,可以确保不会进行脏读。那么你可以为每一个业务表单独设计一个“<em>流水号</em>”表,这个表只有一列字段,而且只有一行,保存了最大<em>流水号</em>。当你写一个业务记录时,在同一个事务中,为<em>流水号</em>+1,并将新的<em>流水号</em>写入业务数据记录,然后事务才结束。在事务结束之前,读取同一个<em>流水号</em>表最大<em>流水号</em>的其它事务会等待。rnrnrn我想问问这样做的效率好,还是直接在事务中把事务隔离级别设成SERIALIZABLE,然后先查询再加1的效率好,区别是一样吗?
高手请进,流水号重复问题,求助!!!高分!!!
限制订单号为5注。每次客户下的订单都不只5个,往往会多出几个,就是那<em>流水号</em>有<em>重复</em>,而下订单的时间也是<em>重复</em>的。如:rn<em>流水号</em>: 用户名称: 时间:rn1103617461 aili 2004-11-23 10:01:44rn1103617461 delcoe9 2004-11-23 10:01:44rn1103617462 aeissoi 2004-11-23 10:01:50rn1103617462 ao0444 2004-11-23 10:01:50rn1103617463 a9283 2004-11-23 10:02:18rn1103617464 kfjir 2004-11-23 10:03:12rn1103617465 daowei 2004-11-23 10:04:30rn1103617465 4idof 2004-11-23 10:04:30rn如何解决不让那<em>流水号</em><em>重复</em>,而又不会多出限制的注数,各位高手救我!分不是<em>问题</em>!rn
流水号问题
设了一个<em>流水号</em>,默认autoincrement,请问当到达数据上限后会出现什么<em>问题</em>呢?rn能否从头再开始呢?
流水号问题
我现在生成一个<em>流水号</em>, 开始时从数据库中取一个最大值, 作为初始值, 放在servletContext里, 以后用的时候, 从其中取出, 加一, 然后存到servletcontext里, 可是, 偶尔会出现<em>重复</em>, 或者顺序错乱, 比如 25,26,27,.....,50,51,52,25,26,27,53,34,55,56,54,28...rn请问 是什么<em>问题</em>啊
流水号问题
我想建一个叫编号的字段,能自动取服务器的时间做编号,并且不可修改,以前在Lutos里做了一个,可是<em>重复</em>的特别多,asp里怎么做啊?
流水号问题`
如题,要生成一个<em>流水号</em>,但用户可以传入一个数字,以便根据这个数字来判断要生成的<em>流水号</em>的长度,各位大哥,小弟刚玩这个,没分给啊,希望各位帮下忙,
流水号问题
<em>问题</em>:rn当客户来电话或来传真时,对客户的意见进行流水编号,有多个接线员,怎么样保证每个接线员电脑屏上显示的是当前最新在<em>流水号</em>?rn我的比较笨:rn返回流水表中的记录数加一显示在接线员小姐的电脑上,但这样会出现一个<em>问题</em>,如当前有可能有几台电脑显示的是同一个<em>流水号</em>?rnrn这个怎么解决?
流水号
在数据库编程中,<em>流水号</em>是我们经常使用的,如果处理不好,常常导致<em>流水号</em><em>重复</em>或性能<em>问题</em>,在此大体说一下实现思路,欢迎大家交流 1.创建一<em>流水号</em>配置表,主要字段包括(编码标识、前缀、最小值、最大值、日期格式、清零标志、增长量、当前值、最后更新时间等) 2.取出当前值 3.更新数据表当前值+增长量,WHERE中需要加当前值条件。 4.判断影响行数,假如为为1,代表成功,反之说明第二步取得的
php如何生成不重复流水号
我使用的是mysql,由于没有root用户权限,所以不能在数据库创建触发器,只能用PHP来生成<em>流水号</em>,规则如下:rn<em>流水号</em>格式 日期+四位数字编号 如20100721+0001=201007210001rn每天编号都是从0001开始计算rn201007210001rn201007210002rn201007210003rn.rn.rn.rnrn201007220001rn201007220002rn201007220003rn.rn.rn.rnrn用PHP如何实现呢?
asp怎么订单生成流水号重复
<>"" thenrn dingdan=now()&Right("00000"& Round(Rnd*89999,0),5)rn dingdan=replace(trim(dingdan),"-","")rn dingdan=replace(dingdan,":","")rn dingdan=replace(dingdan," ","")rn elsern dingdan=usernamern end ifrn do while not rs.eofrn rs("zhuangtai")=1rn rs("dingdan")=dingdanrn rs("dingdan2")=dingdan2rn rs.movenextrn looprn rs.close%>rn订单号太长了,能不能改成短的订单号显示是2012111222252863499怎么给他改成<em>流水号</em>?<em>流水号</em>不能<em>重复</em>的。而这订单号可能还是<em>重复</em>的。
流水号!
怎么样生成<em>流水号</em>!
MySQL 并发下生成不重复流水号
思路 sCode sName sQz sValue order 订单 DD 18120100 首先每个业务的<em>流水号</em>对应表中的一条数据 每个要获取<em>流水号</em>的线程调用 一个用来生成<em>流水号</em>的 存储过程 根据sCode 找到 sValue。 if (sValue == null) 初始化值 else sValue ++ 方案 分析:上述的思路看似没什么<em>问题</em>...
求教一个避免关于生成流水号重复问题
现在的系统生成<em>流水号</em>一直存在不時產生相同流水號的問題,想修改现有的存储过程。提出了1种方法rnrn增加StartValue的, 避免時間差产生的<em>流水号</em>rnrnDECLARE @startValue numericrnupdate basedb_m..commonstart set @startValue = startvalue = startvalue + 1rnwhere tablename = 'ErrorLog' and colname is null and startdate = '2004-01-08 12:10:10.073'rnprint @startValuernrn我是考虑如果用这种方法的话,是不是有了多对磁盘的开销?rnrn同时问问大家这种方法好不好,或怎么改进?rnrnrn
关于流水号问题
谁做过<em>流水号</em>了的,请各位帮帮忙啊!
流水号问题。在线等。
T1表如下:rnID whrn1 0705010001 rn2 0705010002 rn3 0705010003 rn其中wh为char(10)rnwh前六位为年月日后四位为<em>流水号</em>rnrn现在我要新增记录?(当天最大的流水怎样得到)
流水号生产的问题
标识种子从0001开始,一直到9999rn当将这一段加到数据库时由java代码控制加1然后插入到数据库,依次类推。rn且当日期变换时该<em>流水号</em>又从0001开始。即假如当天的<em>流水号</em>到达0123结束,第二天该<em>流水号</em>清零又从0001开始。rn不考虑一天超过9999的情况。rn请问以上情况怎么用java代码来实现。
急!流水号问题.
各位大哥,现在遇到在取流水码的时候,如果有两个线程同时取流水码时候会出现生成同样的标签。
流水号 同步 问题
插入记录的时候,<em>流水号</em>取表中最大值。但是如果有几个插入同时发生的话,可能发生错误。rn如果<em>流水号</em>从xml文件中取得,在写入得话,可能发生同时写入得异常。rn不知道大家是怎么控制的。
关于最大流水号问题
Trade表中的TradeId是<em>流水号</em>,现在要求每插入一笔记录,都取得一个<em>流水号</em>最大值rncreate table Trade(TradeId int identity(1,1),time datetime)rn我看到别人是这么写的rndeclare @temp intrnset @temp=0rnbegin tranrn insert into Trade values(getdate())rn select @temp=scope_identity()rncommit tranrnselect @temprn我搞不懂为什么这里要加个显示事务,一定要加吗?
关于流水号问题
大家帮我提供一个方法,如果今天第一次调用这个方法你返回00001 rn如果我第二次调用你返回00002.。。。。。。 rn如果第二天再调用这个方法时,你要重新开始计数 rn也就是说,我第二天第一次调用这个方法你返回00001 rn如果我第二天第二次调用你返回00002.。。。。。。 rn大侠们帮帮忙啊,想了半天也不会啊,
流水号生成问题
rn1.<em>流水号</em>格式为:年月日加一个11位递增数,例如:2004072500000000001和2004072500000000012;rn2.<em>流水号</em>每天重置,也就是说每天第一个<em>流水号</em>为00000000001,而不是接着昨天的最大<em>流水号</em>进行递增;rn3.不通过数据库读取(这个是关键),虽然<em>流水号</em>在数据库中有记录,但是害怕从数据库读取会影响速度,因为这个是应用于WAP上的,移动GPRS的速度大家也知道,能快就尽可能快一些吧。rnrn可否给出代码,没代码说说思路也行。谢谢各位大侠。
流水号问题
(1)rntableArnrnTid Tname Tcdkey rn001 b we0010009 rn005 a rn004 crn001 drn005 ern003 frn...rn...rn--要求填上Tcdkey ,公式为we+tid+Tcdkey的后4位最大的加1(注:tcdkey的长度一定要为9位)rnrn结果为:rnTid Tname Tcdkey rn001 b we0010009 rn005 a we0050010rn004 c we0040011rn001 d we0010012rn005 e we0050013rn003 f we0030014rn...rn...rnrnrn(2)rn怎么样可以快速找出某一记录的上一条和下一条呢?(表的id号为准,是唯一的)rnrn谢谢各位
关于流水号问题
我想在ID(KEY)的号码随着数据条数的增加而自动加1,该怎么办?rn
插入流水号问题
我有个insert语句如下rninsert into #c (sheet_date,cog_g_no,id) rnselect a.sheet_date,a.img_no,''rnfrom arnrnselect * from a rn结果:rnsheet_date cog_g_no id rn------------------------------------------------------ -------------------- ---- rn2005-12-20 00:00:00.000 1000004 rn2005-12-29 16:42:45.000 1000004 rn2005-09-27 14:39:47.000 1000006 rn2005-09-27 14:39:47.000 1000009 rn2005-12-06 00:00:00.000 1000009 rn2005-12-14 00:00:00.000 1000009 rn2005-12-25 00:00:00.000 1000009 rnrnrn请问怎样在insert语句插入id时,实际以下结果(同一cog_g_no,按时间流水)???????:rnrnsheet_date cog_g_no id rn------------------------------------------------------ -------------------- ---- rn2005-12-20 00:00:00.000 1000004 1rn2005-12-29 16:42:45.000 1000004 2rn2005-09-27 14:39:47.000 1000006 1rn2005-09-27 14:39:47.000 1000009 1rn2005-12-06 00:00:00.000 1000009 2rn2005-12-14 00:00:00.000 1000009 3rn2005-12-25 00:00:00.000 1000009       4rnrnrn拜谢!rn
单据流水号问题
一表中有单据号:0101 0102 0103......rn通过SQL语句如何获得最大单据号并加1,得到0104
流水号问题高分求助
<em>流水号</em>是6字节的字符串,从000001开始,请问有没有简单的算法得到如下的结果:rn000001rn000002rn000003rn......rn000010rn......
流水号唯一性的问题
Calendar CD = Calendar.getInstance();rnint MI = CD.get(Calendar.MILLISECOND);rnString ddate=new SimpleDateFormat("yyyyMMddHHmmss").format(Calendar.getInstance().getTime()); rnddate+=MI;//获取系统时间rn我现在是用上面的方法得到毫秒来当订单的<em>流水号</em>,rn请问大家有没有什么好点的方法使得到的<em>流水号</em>肯定不会<em>重复</em>?rn前提是不经过数据库。rn谢谢大家!
c# 日期流水号问题
--创建视图,得到当前日期(因为函数中不能使用getdate()) rn create view ps_number as select dt='YXT-'+convert(varchar,getdate(),112) rn go rn rn --创建得到最大id的函数 rn create function ps_pxu() rn returns varchar(16) rn as rn begin rn declare @pxu varchar(16),@dt varchar(14) rn select @dt=dt from ps_number rn select @pxu=@dt+'-'+right(1001+isnull(right(max(pxu),3),0),3) rn from ps_list where pxu like @dt+'-%' rn return(@pxu) rn end rn go rnYXT-20100128-001rnYXT-20100128-002rnYXT-20100129-001rn 每天重1开始 谁知道怎么改成每年重1开始了 rn插入时用的存储过程rninsert into ps_list(pdate,pname,pdao,pqu,pfa,pfatel,pshou,pshoutel,pfar,psongr) values(@pdate,@pname,@pdao,@pqu,@pfa,@pfatel,@pshou,@pshoutel,@pfar,@psongr)
流水号简易问题,请教
请教各位,现在我想打印产品<em>流水号</em>,<em>流水号</em>前面字符固定为ZKS-,后面为000000至999999,rn即ZKS-000000至ZKS-999999,该如何写,麻烦大家了!
自增流水号问题!!!急
现在想把自增的<em>流水号</em>字段,重新归零,要怎么做rnrn谢谢大家:)
sql server 流水号问题
最近做一个问卷调查,要把调查对象的回答输入数据库中,想弄个调查对象的<em>流水号</em>.上网一看头都大了,找到了下面这句话:rn"可以把<em>流水号</em>保存到一个单独的表中,在真正追加数据时才更新最大<em>流水号</em>+1"rn这样怎么实现呢?rnrn我的库是这样建的rn调查对象<em>流水号</em> 主键rn题号 主键rn答案 rn备注rn
关于SQL流水号问题
现在有订单号DLO090600001,怎么在后面加上两位01,02,03的<em>流水号</em>?可能会有其它订单号
流水号作为关键字的问题
如果我将<em>流水号</em>作为关键字,中间有多个号我删除掉了,有没有好的SQL查询语句能快速的查询出我删除掉的最小的这个<em>流水号</em>?rn目的很简单,比如我建立一个表:教材表rn字段:教材编号(自增字段),教材名称rn教材编号中间我有删除的,<em>流水号</em>就有断掉的,我想利用这个段的<em>流水号</em>,就是不希望中间有断号,新增记录的时候我就检索断的最小的<em>流水号</em>,如果有就用,没有就加1。rn另外问一下,用自增字段的话,删除了中间的一个记录,新增加记录的时候是从最后开始加还是填补原来断了的再加?
repeater 流水号 问题
各位大侠,我想在绑定数据的时候rnrn在每个数据前加个<em>流水号</em>,不知道怎么在repeater 中写代码rnrn 有人建议这样写,可是不对。rnrn请高手帮助我下,谢谢!
自动生成流水号问题
<em>流水号</em>有这些元素:楼,房间,架子,行,列rn假设现在有20栋楼,每栋楼有30个房间,每个房间有15个架子,每个架子有10行,20列rn怎么样写个循环来自动自动生成上面的<em>流水号</em>从第一个:0101010101到最后一个2030151020
生成流水号问题
怎样生成这样的<em>流水号</em>rn11111111-111112013010101rn11111111-111112013010102rn11111111-111112013010103rn11111111-11111201301010...rnrnrn或者rn11111111-11111W513010101rn11111111-11111W513010102rn11111111-11111W513010103rn11111111-11111W51301010..rnrn作为主键,所以不能<em>重复</em>rn删除后,得从头开始rn比如:11111111-11111W513010102rn下次新增时从11111111-11111W513010101开始rn在WebFrom上点新增后生成rn请高手帮忙rn
SQl Server流水号问题
我想将提取出来的数据集合加个动态的<em>流水号</em>,而不想添加这样一个字段.rn应该怎么样做rn例如:rnrn 1 Arn 2 Brn 3 c
自动编号问题流水号
rnrn当前这个<em>流水号</em>是按日来重置的 怎么按月呢?rn比如今天是 001 002 003 004这样下去的rn可是第2天他又从 001 002 003这样了rnrn我想按月重置怎么修改?rn12月为001 002 003下去rn到1月才001rnrn
asp.net 多用户流水号问题
数据库储存了员工编号ZF-0358,让操作员1新建员工档案前获取为ZF-0359,而操作员2新建员工档案获取员工编号为ZF-0360。rn但目前如果操作员1、2同时新建员工档案时,他们获取的新编号均为ZF-0359。如何操作避免多用户并发申请新员工编号时出现<em>重复</em>编号以及跳号<em>问题</em>?
急!生成流水号问题
我先上代码:rnrn--这是一个触发器:rn[code=SQL]CREATE trigger [dbo].[T_PartValuation_AfterInsert]rnon [dbo].[PartValuation]rnAfter Insertrnasrn--在添加数据后生成<em>流水号</em>并updaterndeclare @ValuationCode nvarchar(50),@ValuationID intrnset @ValuationID=@@IDENTITYrnexec P_CustomerInquiry_CreateCode @ValuationCode outrnupdate PartValuation set ValuationCode=@ValuationCode where ValuationID=@ValuationID[/code]rnrnrn--这是生成编码(编码分两步生成,最后合并)的存储过程:rn[code=SQL]CREATE PROCEDURE [dbo].[P_PartValuation_CreateCode] @ValuationCode nvarchar(50) outputrnas rn--对客户估价表进行生成<em>流水号</em>rndeclare @count int,@num intrn--先生成例如:20110419 的前半部分rnset @ValuationCode = convert(nvarchar(50),getdate(),112)rn--获取今天已经生成多少个类似这样的(这里主要防止未生成)rnselect @count=count(*) from dbo.PartValuation where ValuationCode like (@ValuationCode+'%')rn--如果尚未生成,则设置编号为0,否则获取最大的编号rnif (@count = 0)rnbeginrnset @num = 0rnendrnelsernbeginrnselect @num=cast(substring(MAX(ValuationCode),9,4) as int) from dbo.PartValuation where ValuationCode like (@ValuationCode+'%')rnendrn--在最大的编号的基础上+1rnset @num = @num + 1rn--这里我主要是想生成四位的编号并且与之前生成的前半部分合并,例如201104190001等rnif (@num< 100)rnbeginrnset @ValuationCode = @ValuationCode + '00' + cast(@num as nvarchar(20))rnendrnelse if (@num < 1000)rnbeginrnset @ValuationCode = @ValuationCode + '0' + cast(@num as nvarchar(20))rnendrnelsernbeginrnset @ValuationCode = @ValuationCode + cast(@num as nvarchar(20))rnend[/code]rn以上是我的逻辑代码,我代码的逻辑应该没错的,后四位生成,第一次0001没<em>问题</em>,第二次0002没<em>问题</em>,第三次0002有<em>问题</em>,以后都是生成0002的了,请教怎么会这样,我的逻辑没错的吧rn
流水号规则问题
<em>流水号</em>:从0001 开始排起,到9999 止,9999 以后使用26 个英语字母再排,例如A001-A999;rnB001-B999 …… Z001-Z999; AA01-AA99;AB01-AB99 …… AZ01-AZ99,依此类推。rnrn大家看看怎么个生成,求教啊!
自动生成流水号问题
我现在想生成一个<em>流水号</em>为7位的编码,开始是0000000,我如何实现自动增加!!!
流水号生成
这里的<em>流水号</em>是当前日期+四位数<em>流水号</em>,<em>流水号</em>是按照天流水,既每天第一张单号都是0001
主键ID流水号
mysql语句 比如想生成PK+0000这样的<em>流水号</em>:PK0000,PK0001,PK0002 利用mysql最大值函数,截取字符串后4位。 select MAX(substring(a.BOOK_ID,5)) as MAXID from oa_xz_book_1 a @Override public String findBookMaxBookId(Criteria criteria)
71.流水号
--生成<em>流水号</em> --创建测试表 create table test(id varchar(18), --<em>流水号</em>,日期(8位)+时间(4位)+<em>流水号</em>(4位) name varchar(10) --其他字段 ) go --创建生成<em>流水号</em>的触发器 create trigger t_insert on test INSTEAD OF insert as declare @id varchar(...
生成流水号
package com.byd.core; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Random; import freemarker.template.SimpleDate; public class Ra...
流水号问题?听说hibernate有流水号主键的生成方式?
<em>流水号</em><em>问题</em>?听说hibernate有<em>流水号</em>主键的生成方式?rnrn抢号方式觉得太麻烦了,呵呵!
有关流水号中间部分删除后新生成流水号问题
MSSQL数据库rnrn单据的<em>流水号</em>为:ZZ201404-0001、ZZ201404-0002、ZZ201404-0003、ZZ201404-0004、ZZ201404-0005rn这个方式生成。rnrn以前的<em>流水号</em>生成都是查到最大值后在后面加1来处理,哪怕中间有单据被删除,比如说ZZ201404-0003这单给删除了。rn这样子0003这个流水以后永远都不会再次生成rnrn现在客户有提出是否能生成新单,<em>流水号</em>为已删除了的<em>流水号</em>上的一个,rn请问这种情况怎么查询啊?rnrn如何查询<em>流水号</em>中间段已被删除的号段呢?
流水号查询?
本人在日常的查帐过程中,遇到一个<em>问题</em>,就是<em>流水号</em>都是系统按顺序自动生成的,但有时候不知道什么原因,中间却出现断号了,那么有没有什么SQL语句直接查到是断了那些号呢?rn谢谢,rn认识更多的朋友,学习更多的知识
php流水号
我想这个<em>流水号</em>自增,格式为:0000000001,0000000002... 0000000010请问要怎么做
产生流水号
哪一种数据类型是可以产生<em>流水号</em>的
关于流水号
请问db2中如何生成<em>流水号</em>?
自动生成流水号
[img=https://img-bbs.csdn.net/upload/201408/04/1407123546_812414.jpg][/img]rnrn如何自动生成如图所示的<em>流水号</em>,要求同样的单据号,对应同样的<em>流水号</em>。rnrn最好求代码!!
SQL存储过程流水号并发重复,根据参数设定不同流水号。怎么处理啊~加急啊!~
ALTER PROCEDURE [dbo].[PROC_IMC]rn@text_datea NVARCHAR(30) , rn@pat_typea NVARCHAR(30) , rn@medical_numbera NVARCHAR(30) , rn@patient_namea NVARCHAR(255) , rn@patient_mnemonica NVARCHAR(255), rn@sexa NVARCHAR(30) , rn@agea NVARCHAR(30) ,rn@age_typea NVARCHAR(255) , rn@pay_typea NVARCHAR(30), rn@com_unita NVARCHAR(30) , rn@bed_numbera NVARCHAR(30) ,rn@spe_typea NVARCHAR(30) ,rn@sub_doctora NVARCHAR(30) , rn@applic_numbera NVARCHAR(30) , rn@sub_timea NVARCHAR(30), rn@sam_timea NVARCHAR(30) , rn@roport_timea NVARCHAR(30) , rn@test_doctora NVARCHAR(30) , rn@check_doctora NVARCHAR(30) , rn@clinical_diaa NVARCHAR(30) , rn@remarka NVARCHAR(1000) , rn@print_taga NVARCHAR(5) , rn@audit_taga NVARCHAR(5) ,rn@resulta NVARCHAR(300)rnASrnrnBEGIN rn DECLARE @patient_id NVARCHAR(50),rn @sex_id NVARCHAR(50),rn @depart_id NVARCHAR(50),rn @age_id NVARCHAR(50),rn @charType_id NVARCHAR(50),rn @specimen_id NVARCHAR(50),rn @submission_id NVARCHAR(50),rn @userTest_id NVARCHAR(50),rn @userCheck_id NVARCHAR(50),rn @maxId NVARCHAR(100),rn @maxSpeId NVARCHAR(50),rn @clini_id NVARCHAR(50);rn set @patient_id ='';rn set @sex_id ='';rn set @depart_id ='';rn set @age_id ='';rn set @charType_id ='';rn set @specimen_id ='';rn set @submission_id ='';rn set @userTest_id ='';rn set @userCheck_id='';rn set @maxId ='';rn set @maxSpeId ='';rn set @clini_id='';rn --病人类型表IDrn IF @pat_typea IS NOT NULLrn SELECT @patient_id = PATIENT_ID FROM patient_type WHERE PATIENT_NAME =@pat_typea;rn --性别IDrn IF @sexa IS NOT NULLrn SELECT @sex_id = SEX_ID FROM sex_maintain WHERE SEX_NAME =@sexa;rn --科室IDrn IF @com_unita IS NOT NULLrn SELECT @depart_id = DEPART_ID FROM departments WHERE DEPART_NAME =@com_unita; rn --年龄单位IDrn IF @age_typea IS NOT NULL rn SELECT @age_id = AGE_ID FROM age_unit WHERE AGE_NAME =@age_typea;rn --费别IDrn IF @pay_typea IS NOT NULL rn SELECT @charType_id = typeCode FROM chargetype WHERE typeName =@pay_typea;rn --标本类型IDrn IF @spe_typea IS NOT NULL rn SELECT @specimen_id =SPEC_ID FROM specimen_type WHERE SPEC_NAME =@spe_typea; rn --送检医师IDrn IF @sub_doctora IS NOT NULL rn SELECT @submission_id = DOCTOR_ID FROM submission_doctor WHERE DOCTOR_NAME =@sub_doctora;rn --检验医师IDrn IF @test_doctora IS NOT NULL rn SELECT @userTest_id = USER_NAME FROM user_information WHERE NAME =@test_doctora; rn --核对医师IDrn IF @check_doctora IS NOT NULL rn SELECT @userCheck_id = USER_NAME FROM user_information WHERE NAME =@check_doctora; rn --临床诊断rn IF @clinical_diaa IS NOT NULL rn SELECT @clini_id = diagnosiscode FROM clinicaldiagnosis where diagnosisname =@clinical_diaa; rn rnrn ----------开启事物------------ rn set xact_abort on --当xact_abort 选项为on 时,SQL Server在遇到错误时会终止执行并rollback 整个事务。rn BEGIN TRAN; rn rn INSERT INTO report_information (TEST_DATE,SPE_ID,PAT_TYPE,MEDICAL_NUMBER,PATIENT_NAME,rn PATIENT_MNEMONIC,SEX,AGE,AGE_TYPE,PAY_TYPE,COM_UNIT,BED_NUMBER,rn SPE_TYPE,SUB_DOCTOR,APPLIC_NUMBER,SUB_TIME,SAM_TIME,ROPORT_TIME,rn TEST_DOCTOR,CHECK_DOCTOR,CLINICAL_DIA,REMARK,PRINT_TAG,AUDIT_TAG,ID) VALUES(rn @text_datea,0,@patient_id,@medical_numbera,rn @patient_namea,@patient_mnemonica,@sex_id,@agea,@age_id,rn @charType_id,@depart_id,@bed_numbera,@specimen_id,rn @submission_id,@applic_numbera,@sub_timea,@sam_timea,rn @roport_timea,@userTest_id,@userCheck_id,@clini_id,rn @remarka,@print_taga,@audit_taga,@maxId);rn--根据时间(参数)获取最大的<em>流水号</em>号ID,自+1 rn update report_information set SPE_ID = (SELECT TOP 1 SPE_ID FROM report_information WHERE TEST_DATE = @text_datea ORDER BY spe_id DESC)+1 WHERE TEST_DATE=@text_datea AND SPE_ID=0; rn COMMIT TRAN;rnENDrnrnrn开启三个线程调用SPE_ID列就会出现几个<em>重复</em>数据,不要触发器~求大虾解救!!~
mysql触发器流水号问题的解决
首先感谢roy_88 版主的执教,这个编码,我就是稍微改动一下,让他更完善。 不知道为什么发帖没有成功。开个博客吧,记录一下自己的学习过程,也挺好。感谢回答我这老菜鸟<em>问题</em>的人们。 create table orders(orders_id varchar(12) primary key,customer_name varchar(100) ); create table NextSerial
流水号问题,急求高手!!!
rn现有要求如下:rnrn 当用户确认订单后,rnrn 如何自动产生一订单编号,订单编号编码原则:当天日期+ 当天<em>流水号</em> :rnrn 如2005121201, 2005121202,请注意当天<em>流水号</em>,如果不是当前日期 ,<em>流水号</em>从00-99,如何在rnrnasp+access中自动取得订单编号呢???rn
SQL查询,分组流水号问题
数据[code=sql]rnArnArnBrnBrnBrnCrnDrnDrn[/code]rnrn查询结果rn[code=sql]rnA 1rnA 2rnB 1rnB 2rnB 3rnC 1rnD 1rnD 2rn[/code]
流水号宏程序
加工中心<em>流水号</em>宏程序 G40G80 G91G28Z0. T1M6 G90G0G54X0.Y0.S3000M3 G43H1Z1. #500=#500+1 IF[#500GE10000]THEN#500=1 #504=FIX[#500/1000] IF[#504EQ0]THEN#504=10 G52X-30. M98H#504
Oracle 流水号
select level lv from dual connect by level &amp;lt; 11
流水号算法
最近在网上看到关于<em>流水号</em>算法的计算,分享给大家,具体需求可以自己修改,不用谢我,叫我雷锋public class IdWorker { private final long workerId; private final static long twepoch = 1288834974657L; private long sequence = 0L; private
流水号请教
如何可以自动产生一个<em>流水号</em>,如用户在打开页面时会产生(日期加四位数)200806160001的号,下一个用户打开此页面时会产生200806160002的号.rnrn<em>流水号</em>不能<em>重复</em>......
问个纠结的问题.订单流水号
开始我的订单号是用函数自动生成的.插入数据时自动生成.订单号由当前日期+自增自然数rn但现在改变了规则.需要添加一些当前添加数据的字段的值.这样函数就无法取得当前的值.只能用触发器.insert 触发器里本来有其它内容.添加了后发现订单号一直停留在第一位.rn[code=SQL]rn/*rn*代购的插入操作后触发器增加交易记录,类型是代购rn*代购的返点是必须有的rn*2010-07-08修改返点为处理中.开奖后再更改为成功.如果撤单则失败rn*/rnif object_id('tr_AddNewTransForBetAdd','tr') is not nullrndrop trigger tr_AddNewTransForBetAddrngornrncreate trigger tr_AddNewTransForBetAddrnon bettingrecord after insertrnasrnrn--用户IDrndeclare @UserID intrn--投注IDrndeclare @BetID intrn--交易的金额rndeclare @TrMoney moneyrn--代购订单的彩种IDrndeclare @CPCateID intrn--代购的具体玩法名称rndeclare @CPPlayName varchar(50)rn--用户金额rndeclare @UserMoney moneyrn--被冻结的金额 即提款未被处理的rndeclare @FreezeMoeny moneyrn--可用金额 用户金额-冻结金额rndeclare @AvaliableMoeny moneyrn--剩余金额rndeclare @UserRemainMoney moneyrn--时间设置IDrndeclare @TimeID intrn--订单号rndeclare @OrderNo varchar(50)rnrnselect @UserID=u_id,@BetID=bet_id,@TrMoney=bet_tmoney,@CPCateID=bet_cpid,@CPPlayName=bet_playname,@TimeID=bet_timeid from insertedrnrn/*rn 订单号,增加新的订单号rn*/rnbeginrn --彩种rn declare @cpcatename varchar(50)rn declare @cpcatecode varchar(10)rn --彩种名称 如重庆彩rn set @cpcatename=dbo.getcpcatename(@CPCateID)rn --彩种编号 如cqcrn select @cpcatecode=cc_code from cpcatecode where cc_name=@cpcatenamernrn /*rn 期号 福彩3D,排列三,龙江彩,重庆彩选择后三位 江西彩,时时乐选择后二位rn */rn declare @qhpart varchar(50)rn select @qhpart=cpt_qh from cp_time where cpt_id=@TimeIDrn if(@cpcatename='江西彩' or @cpcatename='时时乐')rn set @qhpart=right(@qhpart,2)rn elsern set @qhpart=right(@qhpart,3)rnrn --如果没找到该日期的<em>流水号</em>,则新增加一个<em>流水号</em>,即为当天的第一个<em>流水号</em>rn if not exists( select top 1 1 from bettingrecord where left(bet_no,6)=right(convert(varchar,getdate(),112),6) )rn beginrn set @OrderNo=1--right(convert(varchar,getdate(),112),6)+@qhpart+@cpcatecode+'00000001'rn endrn elsern beginrn --id为日期格式部分rn declare @TopNo varchar(50)rn declare @NewNoPart varchar(50)rn --如果存在该日期的<em>流水号</em>则在该流水的后5位自动编号上加1rn select top 1 @TopNo=bet_no from bettingrecord order by bet_id descrn set @NewNoPart= rtrim(right(@TopNo,8))+1rn --转化<em>流水号</em>后二位为2位字符串rn set @OrderNo=right(convert(varchar,getdate(),112),6)+@qhpart+@cpcatecode+right('000000000'+@TopNo,8)rn update bettingrecord set bet_no=@OrderNo where bet_id=@BetIDrn endrnendrnrn--增加代购的交易记录rninsert into transrecord( rc_uid,rc_betid,rc_type,rc_prevmoney,rc_money,rc_remainmoney,rc_status,rc_operate )rnselect @UserID,@BetID,'代购',dbo.f_getprevmoney(@UserID),@TrMoney,dbo.f_getremainmoney(@UserID,@TrMoney,'-'),'成功','-' rnrn--增加返点的记录,返点的是未处理的。只有当开奖时间后返点rn--返点的金额=投注金额X返点百分比rndeclare @FdMoney moneyrn--返点的百分比,如12%.在此显示为小数如 0.12rndeclare @Rebate floatrn--注意。ums_rebate格式一定要是89%。即最后一个是% --select convert(float,substring('12%',1,len('12%')-1))/100.0rnselect @Rebate=convert(float,substring(ums_rebate,1,len(ums_rebate)-1))/100.0 from usersetting where ums_cpcateid=@CPCateID and ums_cpplayname=@CPPlayName and ums_uid=@UserIDrnset @FdMoney=@TrMoney*@Rebaternif @FdMoney is null or @FdMoney+@TopNo,8)rn update bettingrecord set bet_no=@OrderNo where bet_id=@BetIDrn结果是rn100715059cqc00000000rnrn也就是说 select top 1 @TopNo=bet_no from bettingrecord order by bet_id desc 这里什么都没有获取到?这是什么原因?
数据库,流水号问题,大神进!
假设数据库有student表,表内有ID一列,rnID是主键,而且是<em>流水号</em>,rn值是rn1rn2rn3rn4rn有没有办法,我假设删除了ID.2.这行数据,ID列自动变成rn1rn2rn3rn重新排!rn跪求啊!rn求啊!rn啊!rn
流水号设计
取BOM变更单,本月最大单号  select MAX(ECNNo)+1 from pimPDMBOMECNMaster where left(ECNNo,6)=DateName(year,GetDate())+DateName(month,GetDate())    <em>流水号</em>设计:   string strSQL = string.Format("SELECT right(max(ECRNo
流水号的生成
请问,我想生成两位<em>流水号</em>,该如何用c实现?
流水号生成?
sqlserver2000,asp.net,用程序插入记录,每条记录有一个唯一的<em>流水号</em>,例如201002030001;rn用sqlserver2000做生成<em>流水号</em>,还是用C#? 保证并发的时候不<em>重复</em>
关于流水号问题!高分请进!
应客户需求:记录数据,数据编号应该是这样的,按照格式 形如“04090001”,那么下一笔记录编号则是"04090002"以此类推"04090003",其中前面四位是后两位年份加月份两位.难度在这,当月份为下一月份时,即为10月份时,后四位则应重新开始计数,即后四位又从0001开始计数--“04100001”。怎么样才能做到这一点呢,望高手指点。有完整代码当然最好啦。高分回报,呵呵。
关于流水号问题,请指教
我想每一笔帐单就自动生成一个<em>流水号</em>,格式是当前日期,如20070208xxxx后面四位是<em>流水号</em>,该<em>流水号</em>每天都必须重置为0001.这个是多用户的.请指教.
生成打印流水号问题??急~~~~~~~~~~~~~~
<em>问题</em>是这样的,先从打印表单中取最大的打印后,然后在该号码上加一,rn但要是二台机器同时执行生成打印<em>流水号</em>的语句,那么有二张打印流水是一样的但内容是不同的??!!该怎么解决rn谢谢~~~~~~~~rn急~~~~~~~~~~~~~~
数据库流水号做主键的问题
举个例子, 订单表的订单号主键,并且是用mssql流水产生的rnrn如果在编程过程中,我想得到刚刚插入的记录产生的<em>流水号</em>,可以用sqlserver的函数是得到rnrn然后用这个得到的<em>流水号</em>就可以往订单明细表中插入记录了rnrn我想问一下,如果是用数据库提供的函数来得到刚刚产生的<em>流水号</em>,那么不是变成无移植数据库了?rnrn那么该如何解决这个 数据库移植性的<em>问题</em>?
大家帮帮忙啊。。。流水号问题
数据库中一栏位ID是文本类型,长度5,现在要用代码把它以<em>流水号</em>形式自动显示,怎么弄啊?rnrn类似申请会员时自动生成会员号一样的rn比如第一位会员编号就是00001rn第二个就是00002rn依此类推rn rn以00001开始rn
Java多线程下载工具下载
Java多线程下载工具 相关下载链接:[url=//download.csdn.net/download/lhfight/4238246?utm_source=bbsseo]//download.csdn.net/download/lhfight/4238246?utm_source=bbsseo[/url]
C++ GUI with Qt4编程-带完整书签.pdf下载
C++ GUI with Qt4编程-带完整书签.pdf 建议使用acrobat打开。 foxitreader打开后会差一页 相关下载链接:[url=//download.csdn.net/download/l470080245/4551928?utm_source=bbsseo]//download.csdn.net/download/l470080245/4551928?utm_source=bbsseo[/url]
关于OpenGL的点投影的研究下载
这是我研究多时的成果,里面有用OpenGL对点投影的矩阵的 原理和编写方法,绝对原创 相关下载链接:[url=//download.csdn.net/download/msndcombobox/5051254?utm_source=bbsseo]//download.csdn.net/download/msndcombobox/5051254?utm_source=bbsseo[/url]
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo
我们是很有底线的