问题描述:
在表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可以伐