Вы можете просто пропустить ID и IDENTITY и сгенерировать code
в качестве первичного ключа. EG
--drop table if exists t
--drop sequence t_seq
--drop function t_key_gen
go
create sequence t_seq start with 1000 increment by 1
go
create or alter function t_key_gen(@i int)
returns char(10)
as
begin
return concat('AB',right(concat('0000000000',@i),8));
end
go
create table t(code char(10) primary key default dbo.t_key_gen(next value for t_seq), a int)
go
insert into t(a) values (1),(2),(3)
select * from t