如何依靠上级编号来产生新号?
现要做一个库存管理软件,手头有个代码,是这样的
TypeId TypeName Uppe
-----------------------
1 电力 0
2 机械 0
3 动力 0
4 电力系统 1
5 车门 2
6 牵引系统 3
大致就是这个意思,即前三个是第一大类里面的三个,后面三个是第二级分类的内容了。
但是我想做的系统是能够实现第二级分类能够在第一类系统的基础上再重新编号的,比如
TypeId TypeName Uppe
-----------------------
1 电力 0
2 机械 0
3 动力 0
p001 电力系统 1
p002 电力传输 1
b001 车门 2
c001 牵引系统 3
而最后能够说生成这样的具体产品的编号
1p00109:第一类为电力,第二类为电力系统的第9个产品
软件要实现自动编号
我能否在一个标上完成任务?还是要再建立新表?我用的数据库是SQL server 2000.
新手,请多多指教!!
[解决办法]
数据库系统没说学好?还是思路根本就没有正确?
你的编号是给使用者看的,还是给程序看的?反正我是没看懂。。
如果给用户看的,就该用分层的方式控制:
编号 名称
01 电力
02 机械
03 动力
0101 电力系统
0201 车门
0301 牵引系统
如果是程序控制的,可以使用上下级编号关系,
编号 名称 上级编号
1 电力 0
2 机械 0
3 动力 0
4 电力系统 1
5 车门 2
6 牵引系统 3
7 电力其它 1
8 电力s 1
在数据库里存储,使用这种上下级编号方式比较好用,编号使用自增型就可以,只需要指定上级编号即可。,而且分类移动很方便
统计报表时,使用上下级编号来统计就很麻烦,而使用分层方式统计更方便些
[解决办法]
用ljyit(木瓜)所说的分层式就可以,id 用字符型,无需上级编号
在生成新的编号时,Select max(编号) From table WHERE LEFT(id, n) = ' '
然后转整数+1生成新的编号。
[解决办法]
我也是才开始做项目,我接触的数据库,设备和部门之类的都是使用父子编号(即木瓜所说的上下级编号),父子编号生成树非常方便。给定一个设备ID或部门ID也便于查找其上级和下级设备和部门。
不过楼主要在编号中体现层次关系还是用分层编号较好。分层编号要定好编码规则,以前也遇到一个编码规则的问题,是一个巨型企业的组织机构编码,它是原先就有一个编码规则的,采用的就是下级单位在其直接上级单位后加N位数来表示,到最末一级有十八位。但这个项目没有做具体的开发。我想如果要开发的话就只有取出来截取,然后再查。我个人感觉比较烦琐。现在我们公司有个数据库设计方面的高手,他设计的数据库如果有层次结构的话,基本上都采用父子编号关系。