一个关于SQL的问题:用存储过程添加一条数据,但是想返回它的自增量ID

我写了个通用的存储过程,用来添加数据,代码基本如,以前不返回的时候是正确的,因为是通用的,所以不清楚表的ID列名是什么,只知道它在第一列,请问一下,要怎么写才能实现这个。... 我写了个通用的存储过程,用来添加数据,代码基本如,以前不返回的时候是正确的,因为是通用的,所以不清楚表的ID列名是什么,只知道它在第一列,请问一下,要怎么写才能实现这个。ALTER  procedure pro_insert( @tblName nvarchar(50), --要插入信息的表 @fields nvarchar(500),  --要插入的字段 @values nvarchar(3000),  --查插入的值 @id int output   --返回自增ID)asbegin declare @sql nvarchar(4000); set @sql = 'insert into ' + @tblName + '(' + @fields + ')values(' + @values  + ')'; print(@sql); execute(@sql); end 展开
 我来答
zlkzlpzhao
2012-02-20 · TA获得超过191个赞
知道答主
回答量:205
采纳率:0%
帮助的人:132万
展开全部
你可以再程序中,使用parameters[0].Direction = ParameterDirection.Output; 来接收SQL给你返回的值,也可以在存储过程中最后添加完那里加入select @@IDENTITY 直接查询最后一个插入的ID值。
J_LD_P
2012-02-20 · TA获得超过109个赞
知道答主
回答量:103
采纳率:100%
帮助的人:42.8万
展开全部
存储过程的最后加上一句:
set @id = @@IDENTITY
调用的时候:
exec pro_insert '','','' @id output
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zaorv
2012-02-20 · 超过22用户采纳过TA的回答
知道答主
回答量:90
采纳率:0%
帮助的人:44.3万
展开全部
太乱了,难懂;不知道BAIDU支持不支持源码发布的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式