规则 内容 
1    TYPE_ID取值范围为101~199 
2    每新增一个TYPE,从库中查找最大的TYPE_ID,+1后作为新的TYPE_ID 
3    删除一个TYPE后,该TYPE对应的TYPE_ID空闲,新建TYPE也不能使用该TYPE_ID 
4    GROUP_ID取值范围为XX001~XX999,XX为TYPE_ID的后2位数,如TYPE_ID=105,则该TYPE包含的GROUP_ID=5001~5999,如   TYPE_ID=167,则该TYPE包含的GROUP_ID=67001~67999 
5    每新增一个GROUP,从库中查找该GROUP所属的TYPE中最大的GROUP_ID,+1后作为新的GROUP_ID 
6    删除一个GROUP后,该GROUP对应的GROUP_ID空闲,新建GROUP也不能使用该GROUP_ID,防止流量对应到不同的GROUP上 
第三条以及第六条 怎样实现啊?TYPE_ID、TYPE_NAME、GROUP_ID、GROUP_NAME字段在同一张表中

解决方案 »

  1.   

    TYPE_ID和GROUP_ID都设置成自动增长 加1不行吗?
      

  2.   

    建一个制御表
    TYPE_ID  MAX_GROUP_ID
    这样你2,5的查询 查这个就行了
      

  3.   

    你第二条不是保证了么? 每新增一个TYPE,从库中查找最大的TYPE_ID,+1后作为新的TYPE_ID 这样每次新增TYPE不都是最大的么?就不可能是重复以前的啊,除非你这个到了最大范围,你这倒了199后怎么办?循环从101开始?
      

  4.   

    不做物理删除。 新增 isDeleted 字段。
      

  5.   

    版本控制,具體就是加DELETED字段,有需要再添加ISLATEST,VERSION,GROUPID
      

  6.   

    表中的数据是这样的:
    DEV_ID      DEV_NAME     TYPE_ID   TYPE_NAME   GROUP_ID   GROUP_NAME
    1           测试设备1      101       测试型号1      1001       cisco
    2           测试设备2      101       测试型号1      1002       华为
    3           测试设备3      101       测试型号1      1002       华为
    4           测试设备4      102       测试型号2      2001       中兴
    5           测试设备5      102       测试型号2      2001       中兴
    6           测试设备6      102       测试型号2      2001       中兴