关于SQL Server 2000 列自增问题
整型数据类型是可以与Identity属性一起使用的唯一类型,请问如果我有一数据列是nvarchar类型,如何写存贮过程让其从1实现自增呢?谢谢我的表中有一个id字段,它的...
整型数据类型是可以与Identity属性一起使用的唯一类型,请问如果我有一数据列是 nvarchar 类型,如何写存贮过程让其从1实现自增呢?谢谢
我的表中有一个 id 字段,它的类型是 nvarchar ,可是这种类型不能用 identity 属性,如何实现id字段从1自增呢? 展开
我的表中有一个 id 字段,它的类型是 nvarchar ,可是这种类型不能用 identity 属性,如何实现id字段从1自增呢? 展开
3个回答
展开全部
按你说的情况,就我了解,好象只能用触发器来实现了。
下边的代码是一个例子,你主要是看看思路,执行以后可以见到效果
例子里的表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
下边的代码是一个例子,你主要是看看思路,执行以后可以见到效果
例子里的表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
展开全部
--创建表
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么问题呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询