sqlserver2008 使用存储过程添加数据后,怎样获得添加的主键值?

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

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式