主题:[讨论]自动编号的产生
mdwboy
[专家分:410] 发布于 2006-04-14 09:10:00
各位同仁:
怎样在MS SQL Server中插入记录时产生一个自动编号。自动编号的格式如:XZ01至XZ99999999,数据类型为VARCHAR(10)。
谢谢指教!
回复列表 (共8个回复)
沙发
cwb1128 [专家分:3120] 发布于 2006-04-17 18:38:00
好象没有这个功能,自己写个编号生成器吧。。
板凳
mdwboy [专家分:410] 发布于 2006-04-17 20:01:00
怎么编写呢!
3 楼
cwb1128 [专家分:3120] 发布于 2006-04-17 21:08:00
你可以先把字段类型设置为int,让它自增。
等所有信息插入完后再把这个字段类型改为varchar,然后更新这个字段。
update table set 字段='XZ'+字段
或者你新建一个过度表。里面字段初值为0,你往另一个表插入信息的时候,先从这个过度表里取出值加一,在前面加上字符'XZ'就生成你需要的编号。然后把这个过度表的值也加一,以便下次取用。
4 楼
mdwboy [专家分:410] 发布于 2006-04-18 15:48:00
太麻烦了啊,有没有更简单的方法呢?
5 楼
mdwboy [专家分:410] 发布于 2006-04-21 22:55:00
用GUID。在客户端产生,方便其它表的引用。
<%
Dim objTypeLib
Set objTypeLib = CreateObject("Scriptlet.TypeLib")
IDH=objTypeLib.Guid
Response.write IDH
%>
不过这样的号太长了!期待寻找好的方法...
6 楼
kdm0514 [专家分:5210] 发布于 2006-04-22 23:20:00
设置标识种子吧
7 楼
mdwboy [专家分:410] 发布于 2006-04-27 12:56:00
就是!
其他的关系要引用这个字段,数据库里自动产生取不到这个值,
8 楼
rr5566 [专家分:460] 发布于 2006-05-11 10:02:00
到企业管理器那里设置那个步长就行了。你想自增多少就多少?
我来回复