在sqlserver2000中如何批量生成序列号

原数据库里是有数据,我想新建一个空白字段,在sqlserver2000中如何自动在新字段里生成一系列数字的序列号

比如说
id 新字段(原来是空白的) 其它字段
01 生成 000000001 其它
02 生成 000000002 其它
03 。。。。。。 以此类推 其它

原来有多少列 在新字段中自动生成数字。

会写存储过程吗?
会写触发吗?
如果会,如果能看懂以下代码你就能完成,否则,你需要看看存储过程相关的书。

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE FUNCTION V_GetStr
(
@位数 int, --需要的位数(范围1-32)
@数值 int --需要的数值
)
RETURNS varchar(32)
AS
BEGIN
declare @r varchar(16)
declare @r2 varchar(16)
declare @r3 varchar(32)
declare @r4 varchar(32)

select @r='0000000000000000'
select @r2 = @数值
select @r3 = @r + @r2
select @r4= right(@r3,@位数)
return(@r4)

END
GO

--调用示例(生成10位长度的),注意以下调用需要在存储过程中完成
--declare @IDme varchar(16)
--select @IDme = (select beyczyxx.ID from beyczyxx where beyczyxx.ID = 1 )
--select dbo.V_GetStr(10,@IDme)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-11-02
1.创建 SEQUENCE 对象。可以使用序列表达式(sequence expression)来引用序列对象

2.\Framework\v2.0.50727\mscorlib.dll下提供表示全局唯一标识符 (Guid)。

GUID 是一个 128 位整数(16 字节),可用于所有需要唯一标识符的计算机和网络。此标识符重复的可能性非常小.
参考资料:http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpref/html/frlrfsystemtypeclassguidtopic.asp

3.<%
dim i,j
len1=len("xs0000000001")
i=1
do while i < 200
len2=len(i)
response.write "xs"
for j=0 to len1-len2-2
response.write "0"
next
response.write i&"<br>"
i=i+1
loop
%>

4.dim aa
aa=1'这里应该是从数据库中查询该字段经过处理
response.write "xs"&left("0000000000",10-len(aa))&(aa)
第3个回答  2008-11-20
sqlserver2000批量生成序列号,要编一个程序,我已经帮你写好,用消息发给你了,请注意查收哦。
相似回答