标题:求助, 员工ID应从“00001”开始,依次依增
只看楼主
a481143
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-6-29
结帖率:0
已结贴  问题点数:20 回复次数:9 
求助, 员工ID应从“00001”开始,依次依增
已建表

create table Employee

(
EmpID             smallint      not null,     --      员工ID
EmpName           char(20)      not null,     --    员工姓名
EmpAge            smallint      not null,     --        年龄
EmpAddress        varchar(20)   not null,     --        地址
EmPbirthday       smalldatetime not null,     --        生日
EmpTel            char(20)      not null,     --        电话
EmpDate           smalldatetime not null,     --    入职时间
EmpMarital        varchar(10)   not null,     --    婚姻状况
EmpType           varchar(10)   not null,     --    员工类型
DepID             smallint      not null      --所属部门ID号
)



在此表的基本上,员工ID应从“00001”开始,依次依增
请问怎么编写一个存储过程来实现? 请高手指点。
搜索更多相关主题的帖子: 00001 员工 应从 
2010-06-29 13:37
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
得分:5 
有个业务上的逻辑没交代:那就是员工离职后 工号能否被收回重新利用.
2010-06-30 11:39
w421947545
Rank: 1
等 级:新手上路
帖 子:46
专家分:5
注 册:2008-7-30
得分:5 
能与不能都有那些区别呢。
2010-06-30 18:26
a481143
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-6-29
得分:0 
不考虑  员工离职后 工号能否被收回重新利用.
2010-06-30 23:05
三断笛
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:31
帖 子:1621
专家分:1617
注 册:2007-5-24
得分:5 
新建一个表如t1,记录当前学号的最大值.也就是每次生成一个学号,就将此学号写入到t1
--开启事务,并加上holdlock锁
下次生成学号就取这个最大的学号,加1
将此最大值写入t1
提交事务
将这学号转换成字符串,记录它的长度,并用Replicate()生成指定长度的前缀0,合并至刚刚取到的学号
2010-07-01 00:51
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
得分:5 
其实整型很好,也可以设置为自动增长。只要显示的时候处理下就行了!

★★★★★为人民服务★★★★★
2010-07-01 07:28
游来游去的鱼
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-7-11
得分:0 
请问这个问题怎么处理啊,我也遇到这个问题,就是流水号是00001,加1后就变成2了前面的0000就去掉了,关注中ing
2010-07-11 16:59
jksu
Rank: 1
等 级:新手上路
帖 子:5
专家分:9
注 册:2006-10-8
得分:0 
可以写个函数或者触发器,每次向表中插入数据时,检查表中最大的ID,在这个ID基础上加1或转成‘00002’等你想要的ID后在插入到表中

当然,数据量大的时候会影响性能
2010-07-19 12:31
snail5007
Rank: 2
来 自:安徽潜山
等 级:论坛游民
帖 子:92
专家分:84
注 册:2010-6-11
得分:0 
学习中~

在大庆漂泊的失意人
现工作于油田EOR
2010-07-19 14:24



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-311614-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.066236 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved