触发器怎样创建一个类型为CHAR型的自增长字段

waterlady955 2006-03-13 11:55:55
我的表中需要创建一个自增长类型的字段,但是这个字段是CHAR型的。。用触发器该怎么实现呢
...全文
104 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
huailairen 2006-03-14
  • 打赏
  • 举报
回复
你可以按照这个方法去创建。
create table autoadd(a char(5),b varchar(5))
--drop table autoadd

--drop trigger tr_autoadd
go
create trigger tr_autoadd
on autoadd
instead of insert
as
begin
declare @m varchar(5)
declare @n int
--select * from inserted
select @m=b from inserted
if (select count(*) from autoadd)=0
begin

insert into autoadd values('00001',@m)
end
else
begin
select @n=max(cast(a as int))+1 from autoadd

insert into autoadd values(replicate('0',5-len(cast(@n as varchar(5))))+cast(@n as varchar(5)),@m)
end
if @@error<>0
begin
rollback tran
end
end


insert into autoadd(b) values('a')
wgsasd311 2006-03-14
  • 打赏
  • 举报
回复
把你自增长的格式列出来:
比如:1,2,3,4......
或:0001,0002,003......
或:a,b,c,d......
OracleRoob 2006-03-14
  • 打赏
  • 举报
回复
变通一下,给表设置一个int型自增列,在触发器中根据这个自增字段的值转换为char型,然后更新char型字段的值

22,206

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧