Мы можем добавить Default Constraint Function
с определением таблицы для достижения этого.
Первое создание таблицы -
create table temp_so (prikey varchar(100) primary key, name varchar(100))
go
Второй создать новый User Defined Function
-
create function dbo.fn_AutoIncrementPriKey_so ()
returns varchar(100)
as
begin
declare @prikey varchar(100)
set @prikey = (select top (1) left(prikey,2) + cast(cast(stuff(prikey,1,2,'') as int)+1 as varchar(100)) from temp_so order by prikey desc)
return isnull(@prikey, 'SB3000')
end
go
Третье определение таблицы для добавления default constraint
-
alter table temp_so
add constraint df_temp_prikey
default dbo.[fn_AutoIncrementPriKey_so]() for prikey
go
Четвертая insert
новая строка в таблице без указания значения для primary column
-
insert into temp_so (name) values ('Rohit')
go 4
Проверьте данные в таблице сейчас -
select * from temp_so
ВЫХОД -
prikey name
SB3000 Rohit
SB3001 Rohit
SB3002 Rohit
SB3003 Rohit