首页新闻找找看学习计划

批量Insert返回主键集合

0
悬赏园豆:10 [已解决问题] 解决于 2013-03-15 16:36
sql server:
insert后,会有一个@@IDENTITY返回,及当期插入的主键值;
那批量的insert,比如这样的sql语句:insert into 表(列) select 列 from 表。怎么样能返回一个@@IDENTITY的集合? 
豆腐欣欣的主页 豆腐欣欣 | 初学一级 | 园豆:76
提问于:2013-03-15 15:50
< >
分享
最佳答案
0

只要用output子句就可以了

http://www.cnblogs.com/qingiqng99/archive/2013/03/15/2961690.html

(自己写的有点粗糙)

豆腐欣欣 | 初学一级 |园豆:76 | 2013-03-15 16:34
其他回答(4)
0

这样好像返回的是最后一个,返回集合不可能的。

收获园豆:2
清海扬波 | 园豆:813 (小虾三级) | 2013-03-15 15:53

嘻嘻,刚自己找到了办法。

http://www.cnblogs.com/qingiqng99/archive/2013/03/15/2961690.html

(写的有点粗糙)

支持(0) 反对(0) 豆腐欣欣 | 园豆:76 (初学一级) | 2013-03-15 16:32
0

只能insert一个之后就select @@identity一次了

收获园豆:6
飞来飞去 | 园豆:2057 (老鸟四级) | 2013-03-15 15:55

嘻嘻,刚自己找到了办法。

http://www.cnblogs.com/qingiqng99/archive/2013/03/15/2961690.html

(写的有点粗糙)

支持(0) 反对(0) 豆腐欣欣 | 园豆:76 (初学一级) | 2013-03-15 16:32
0

可以定义一个变量,记录新增了多少条记录, 比如 declare insertCnt INT,

当得么insertCnt的数量,然后再执行一回查询,Select TOP inserCnt FROM 表 ORDER BY ID DESC

收获园豆:2
jerry-Tom | 园豆:4077 (老鸟四级) | 2013-03-15 16:32

嘻嘻,刚自己找到了办法。

http://www.cnblogs.com/qingiqng99/archive/2013/03/15/2961690.html

(写的有点粗糙)

支持(0) 反对(0) 豆腐欣欣 | 园豆:76 (初学一级) | 2013-03-15 16:33

@跳舞: 你是丫头吗????

支持(0) 反对(0) jerry-Tom | 园豆:4077 (老鸟四级) | 2013-03-15 16:34

@百灵: 我是老爷们--!

支持(0) 反对(0) 豆腐欣欣 | 园豆:76 (初学一级) | 2013-03-15 16:36
0

 写存储过程带输出参数;

zheng.wk | 园豆:202 (菜鸟二级) | 2013-03-15 16:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册