存储过程的返回值,如何获取自动生成的id‎

SpiritMFC 2010-03-04 06:31:28
有一个自动增长的ID ‘cm_id’

CREATE Proc db_cps_master
-- 存储过程参数
@account Varchar(20),
@pwd Varchar(12),
@expir Datetime,
@verifycode Varchar(32)
AS
insert into cps_master(cm_account,cm_pwd,expire,verify_code)
values (@account,@pwd,@expir,@verifycode)

GO

我要如何在这个存储过程中,获取自动增长的ID("cm_id")值??

用ADO的方式要如何得到当前自动增长的ID值呢?
求解!!!
...全文
147 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
SpiritMFC 2010-03-05
  • 打赏
  • 举报
回复
多谢前辈~~已解决~
aoyihuashao 2010-03-05
  • 打赏
  • 举报
回复
引用 5 楼 starsunyzl 的回复:
用RETURN或者output参数来回传就可以了吧:

SQL codeCREATEProc db_cps_master-- 加一个output参数@idint output,@accountVarchar(20),@pwdVarchar(12),@expirDatetime,@verifycodeVarchar(32)ASinsertinto cps_master(cm_account,cm_pwd,expire,verify_code)values (@account,@pwd,@expir,@verifycode)set@id=selectSCOPE_IDENTITY()GO


select @id=SCOPE_IDENTITY()

或者

set @id=SCOPE_IDENTITY()
SpiritMFC 2010-03-05
  • 打赏
  • 举报
回复
貌似不行~~
提示...

在关键字 'select' 附近有语法错误。
StarsunYzL 2010-03-05
  • 打赏
  • 举报
回复
用RETURN或者output参数来回传就可以了吧:

CREATE Proc db_cps_master 
-- 加一个output参数
@id int output,
@account Varchar(20),
@pwd Varchar(12),
@expir Datetime,
@verifycode Varchar(32)
AS
insert into cps_master(cm_account,cm_pwd,expire,verify_code)
values (@account,@pwd,@expir,@verifycode)

set @id = select SCOPE_IDENTITY()
GO
SpiritMFC 2010-03-05
  • 打赏
  • 举报
回复
额...
这个集合在存储过程中该怎么个写法呀。。。
StarsunYzL 2010-03-05
  • 打赏
  • 举报
回复
select SCOPE_IDENTITY()
也行吧
SpiritMFC 2010-03-05
  • 打赏
  • 举报
回复
select @@identity 是全局的吧?
StarsunYzL 2010-03-04
  • 打赏
  • 举报
回复
insert之后执行如下SQL语句可以获取到自动增长的ID:

select @@identity

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧