sqlserver2008 使用存储过程添加数据后,怎样获得添加的主键值?
1个回答
展开全部
如果是自增列主键的话,一般来说,插入后查询最大值就可以了
select max(pkID) from tablename;
还有一种方法
select @@identity
select max(pkID) from tablename;
还有一种方法
select @@identity
追问
插入的数据不止一条,怎样获得全部的主键值?
追答
你可以先生成一个唯一的key,然后把key传入存储过程,添加数据时把key一起存进去,然后根据key查询刚添加的数据!
也可以在存储过程中添加一个临时表#tablename!,然后每添加一条数据向#tablename中添加一个刚插入的数据的ID,然后最后select * from #tablename
还可以记录存储过程插入的条数,然后最后取select * from table where id=@@identity -条数(不过如果你存储过程执行的久的话,会出现很大的误差。。。)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询