怎么将类型为varchar(10)的字段设置为自增

如何将类型为varchar(10)的字段设置为自增?
版本及环境为:Microsoft SQL Server 2008 (SP3) - 10.0.5500.0 (X64) 
Enterprise Edition (64-bit) on Windows NT 6.0 <X64> (Build 6001: Service Pack 1)

现有一个表A 字段名为BATCH_NO  类型为varchar(10)not null;  如何将这个字段设置为自增?
------解决思路----------------------
标识列的数据类型必须是 int、bigint、smallint、tinyint 或 decimal,或者是小数位数为 0 的 numeric 数据类型,并且约束为不可为 Null。

use tempdb
go
if object_id('test') is not null
drop table test
create table test(num int identity(1,1),val as 'A'+right('000000000'+ltrim(num),9))
go
insert into test
default values
go 10
select * from test

------解决思路----------------------
按你说的情况,好象只能用触发器来实现了。
下边的代码是一个例子,你主要是看看思路,执行以后可以见到效果
例子里的表test001中的id列就如你说的是nvarchar类型的

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

go
--创建触发器
create trigger tg_test001
on test001
instead of insert
as

declare @content nvarchar(10)

select @content= content from inserted
insert into test001(id,content)
select cast(isnull(max(id),'0') as int)+1,@content
from test001
 
go

--向表中插入数据
insert into test001 (content) select 'a'
insert into test001 (content) select 'b'
go
--选择察看插入效果
select * from test001
go
------解决思路----------------------
把上面那个触发器的语句改了一下:
create trigger tg_test 
on test
instead of insert
as
declare @content nvarchar(10)
select @content=content from inserted
insert into test(id,content)
select  'BH'+right('00000000'+cast(cast(ISNULL(max(right(id,8)),'0') as int)+1 as nvarchar),8),@content from test 
go