SQL Server 2005如何在插入数据后返回自增列
请问一下,SQL Server 2005如何在插入数据后返回自增列,并且自增列前面能加上指定字母标识。比如ES00309 ES00310等。具体有哪几种方法呢?我用的VC ADO访问数据库。 SQL?Server2005 自增列 ADO VC
[解决办法]
DECLARE @ID int
insert into tableName(Col)
values('X')
set @ID=@@IDENTITY
set @ID=SCOPE_IDENTITY()
[解决办法]
如果是批量新增数据时,可用表变量接收数量,或直接用output
DECLARE @ID int
declare @T table(ID int identity ,Col nvarchar(50))
insert into @T(Col)
values('X')
set @ID=@@IDENTITY
set @ID=SCOPE_IDENTITY()
select @ID
go
declare @T table(ID int identity ,Col nvarchar(50))
insert into @T(Col)
output inserted.ID
values('X')
[解决办法]
declare @id int
declare @Str_Return varchar(7)
--insert into tableName(Col) values('X')
-- set @ID=@@IDENTITY
--如触发器中有其它的insert 含有自增列表的操作,用这个
--set @ID=SCOPE_IDENTITY()
--测试
set @id=23
--生成ES00309格式
set @Str_Return = convert(varchar(7),@ID)
set @Str_Return = 'ES'+substring('00000',1,(5-len(@Str_Return)))+@Str_Return
print @Str_Return
[解决办法]
用output可以返回插入ID
需要返回插入ID,最好用存储过程封装处理