比方说我在数据库中有一个字段位aaa他的类型是Varchar的,比方说我准备定义它的的数据为aaa000001,我怎么才能让他在Sql server中自动编号呀即自动得到aaa0002,aaa0003
---------------------------------------------------------------
--自动得到aaa0002,aaa0003
写一个函数,放在默认值里:
create function getNumber()
returns Varchar(7)
as
begin
declare @a Varchar(7)
select @a='aaa'+right(isnull(max(cast(right(字段,4) as int)),0)+10001,4) from 表
return(@a)
end
go
你在你的表里的那个字段的默认值里写:
dbo.getNumber()
---------------------------------------------------------------
--自定义函数,设置成默认值的方法
--创建得到最新编号的函数
create function f_getbh()
returns varchar(9)
as
begin
declare @bh varchar(9)
select @bh=max(bh) from tb
if @bh is null
set @bh='aaa000001'
else
select @bh=substring(@bh,patindex('%[0-9]',@bh),9)
,@bh=cast(cast(@bh as int)+1 as varchar)
,@bh='aaa'+right('000000'+@bh,6)
return(@bh)
end
go
--创建表
create table tb(bh varchar(9) default dbo.f_getbh(),name varchar(10))
go