如何生成一个唯一的ID值
2006-04-05 21:01
344 查看
空间对象的数据库表包括事务表(BUSINESS TABLE),要素表(FEATURE TABLE),空间索引表(SPATIAL INDEX TABLE)。
事务表(BUSINESS TABLE)中有一个字段OBJECTID,我给了它一个UNIQUE CONSTRAINT,那么在数据入库的时候如何产生唯一的ID值呢,这涉及后面查询编辑操作。因为我们对测量的数据是要进行分幅分层的,原先可能具有相同ID值的对象会被导入到一个数据库表中,这是在执行SE_STREAM_EXCUTE时会产生错误,返回值为-51。
我实现的方法是这样的,建立一个IDINFO的属性表,包括表名、最大ID值……字段,对象入库时,先查询IDINFO表,如果IDINFO还未含有当前表名,则返回ID值为0,插入一个新记录,最大ID值为1;如果IDNFO已经含有当前表名,则返回最大ID值记录,并更新记录,最大ID值加1。
事务表(BUSINESS TABLE)中有一个字段OBJECTID,我给了它一个UNIQUE CONSTRAINT,那么在数据入库的时候如何产生唯一的ID值呢,这涉及后面查询编辑操作。因为我们对测量的数据是要进行分幅分层的,原先可能具有相同ID值的对象会被导入到一个数据库表中,这是在执行SE_STREAM_EXCUTE时会产生错误,返回值为-51。
我实现的方法是这样的,建立一个IDINFO的属性表,包括表名、最大ID值……字段,对象入库时,先查询IDINFO表,如果IDINFO还未含有当前表名,则返回ID值为0,插入一个新记录,最大ID值为1;如果IDNFO已经含有当前表名,则返回最大ID值记录,并更新记录,最大ID值加1。
相关文章推荐
- PHP如何随机生成一个唯一的id
- 如何在高并发分布式系统中生成全局唯一Id
- (转)如何在高并发分布式系统中生成全局唯一Id
- 采用PHP函数uniqid生成一个唯一的ID
- 如何在高并发分布式系统中生成全局唯一Id(转)
- 如何在高并发分布式系统中生成全局唯一Id
- 如何在高并发分布式系统中生成全局唯一Id
- 采用PHP函数uniqid生成一个唯一的ID
- 根据用户id生成一个唯一邀请码
- 采用PHP函数uniqid生成一个唯一的ID
- 如何在高并发分布式系统中生成全局唯一Id
- 如何在高并发分布式系统中生成全局唯一Id
- JS如何生成一个不重复的ID的函数
- 根据时间和类型生成一个唯一的id
- 如何在高并发分布式系统中生成全局唯一Id
- 如何用redis来生成唯一Id
- 一个短的唯一id生成方法,解决uuid过长的问题
- 高并发 sql 生成不重复编号 (订单号) & 如何在高并发分布式系统中生成全局唯一Id
- js 如何生成唯一且不可预测的 ID
- 【架构】生成全局唯一ID的3个思路,来自一个资深架构师的总结