关于SQL Server 2000 列自增问题

发布时间:2024-11-05 19:02 发布:上海旅游网

问题描述:

整型数据类型是可以与Identity属性一起使用的唯一类型,请问如果我有一数据列是 nvarchar 类型,如何写存贮过程让其从1实现自增呢?谢谢
我的表中有一个 id 字段,它的类型是 nvarchar ,可是这种类型不能用 identity 属性,如何实现id字段从1自增呢?

问题解答:

--创建表
create table test001
(
id nvarchar(10),
content varchar(10)
)

go
--创建触发器
create trigger tg_test001
on test001
instead of insert
as

declare @content nvarchar(10)

select @content= content from inserted
insert into test001(id,content)
select cast(isnull(max(id),'0') as int)+1,@content
from test001

go

--向表中插入数据
insert into test001 (content) select 'a'
insert into test001 (content) select 'b'
go
--选择察看插入效果
select * from test001
go

按你说的情况,就我了解,好象只能用触发器来实现了。
下边的代码是一个例子,你主要是看看思路,执行以后可以见到效果
例子里的表test001中的id列就如你说的是nvarchar类型的

--创建表
create table test001
(
id nvarchar(10),
content varchar(10)
)

go
--创建触发器
create trigger tg_test001
on test001
instead of insert
as

declare @content nvarchar(10)

select @content= content from inserted
insert into test001(id,content)
select cast(isnull(max(id),'0') as int)+1,@content
from test001

go

--向表中插入数据
insert into test001 (content) select 'a'
insert into test001 (content) select 'b'
go
--选择察看插入效果
select * from test001
go

什么问题呢?

热点新闻