回 帖 发 新 帖 刷新版面

主题:[讨论]自动编号的产生

各位同仁:
  怎样在MS SQL Server中插入记录时产生一个自动编号。自动编号的格式如:XZ01至XZ99999999,数据类型为VARCHAR(10)。

谢谢指教!

回复列表 (共8个回复)

沙发

好象没有这个功能,自己写个编号生成器吧。。

板凳

怎么编写呢!

3 楼

你可以先把字段类型设置为int,让它自增。
等所有信息插入完后再把这个字段类型改为varchar,然后更新这个字段。
update  table set 字段='XZ'+字段

或者你新建一个过度表。里面字段初值为0,你往另一个表插入信息的时候,先从这个过度表里取出值加一,在前面加上字符'XZ'就生成你需要的编号。然后把这个过度表的值也加一,以便下次取用。

4 楼

太麻烦了啊,有没有更简单的方法呢?

5 楼

用GUID。在客户端产生,方便其它表的引用。
<%
Dim objTypeLib
Set objTypeLib = CreateObject("Scriptlet.TypeLib")

IDH=objTypeLib.Guid
Response.write IDH
%>
不过这样的号太长了!期待寻找好的方法...

6 楼

设置标识种子吧

7 楼

就是!
其他的关系要引用这个字段,数据库里自动产生取不到这个值,

8 楼

到企业管理器那里设置那个步长就行了。你想自增多少就多少?

我来回复

您尚未登录,请登录后再回复。点此登录或注册