表Table_T,主键MainID为int自增,有一字段Test。要在存储过程中取得新插入记录的字段Test值,并将其输出。
获得新记录某字段有两种方法:
1、所需字段为非标识字段
declare @returnValue [nvarchar](50)
--向表中插入一行数据
insert into Table_T(Test) values ('Test')
--获取新插入数据行MainID
set @returnValue =(select top 1 Test from Table_T order by MainID desc)
--将MainID输出
select @returnValue Output
2、所需字段为标识字段,使用select IDENT_CURRENT(“表名”)
declare @returnValue [nvarchar](50)
--向表中插入一行数据
insert into Table_T(Test) values ('Test')
--获取新插入数据行MainID
set @returnValue =(select IDENT_CURRENT('Table_T'))
--将MainID输出
select @returnValue Output
由接收OUTPUT返回值:
cmd.Parameters.Add("@ReturnValue",SqlDbType.NVarChar,50);
cmd.Parameters["@ReturnValue"].Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
string returnValue = cmd.Parameters["@ReturnValue"].Value.ToString();