数据库编号自增 问题

发布时间:2024-05-16 08:24 发布:上海旅游网

问题描述:

在表A中
我的 编号规则如下
aaa%dbbb
----------
添加记录时
如果该表为空的则添加
aaa0001bbb
如果表里有记录,假如为
aaa001bbb
aaa002bbb
那么添加的记录应该是
aaa003bbb

请问怎么实现呢
不能这么做

这只是其中的一种编号

还有其他的
比如
ggg%ddd

问题已经解决 谢谢了

问题解答:

数据量不大的话可以考虑使用触发器,别的似乎没有太好的方法,
写了个例子楼主看一下。

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

go

--创建触发器
create trigger tg_t1_insert
on t1
instead of insert
as

declare @serial varchar(9) --编号

select @serial=isnull(max(substring(id,4,3)),'000')
from t1
where id like 'aaa___bbb'

set @serial='aaa'+right('00'+cast(@serial+1 as varchar(3)),3)+'bbb'

insert into t1(id,content)
select @serial,content
from inserted

go

--测试
insert into t1(content)
select 'a'

select *
from t1

直接让它自动增长 读出时自己加上aaa bbb可以伐

热点新闻