有一个自动增长的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值呢?
求解!!! 

解决方案 »

  1.   

    insert之后执行如下SQL语句可以获取到自动增长的ID:select @@identity
      

  2.   

    select @@identity 是全局的吧?
      

  3.   

    select SCOPE_IDENTITY()
    也行吧
      

  4.   

    用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 
      

  5.   

    貌似不行~~
    提示...在关键字 'select' 附近有语法错误。
      

  6.   


    select @id=SCOPE_IDENTITY()或者set @id=SCOPE_IDENTITY()