日期:2014-05-17  浏览次数:20637 次

存储过程返回值不一致求大神帮助
     今天做到一个插入语句时,我想将刚才插入的那条记录的标识列得到。我写了下面sql语句做了测试
“select @@IDENTITY” 得到的是我想要的结果,于是就果断Copy了此句到程序中,可是一调试,此sql语句却得到了""这个值。我以为它是系统函数不能这样,于是我写了个存储过程,代码如下:
    
   
create procedure sp_identity_pcsOrder  ---创建存储过程
 @id numeric(18,0) output  ---定义返回参数
as 
begin 
  select @id=@@IDENTITY   --为返回参数赋值
  select @id
  end
  

 declare @id numeric(18,0)   ---定义变量
execute sp_identity_pcsOrder  @id  --调用存储过程
select @id    ---查询返回值

然后存储过程得到的是想要的结果,但是查询返回值的时候却是Null
下面是结果



求大神教导下小弟错在哪里,应该怎么改。
存储过程 标识列

------解决方案--------------------
declare @id numeric(18,0)   ---定义变量
execute sp_identity_pcsOrder  @id output --调用存储过程
select @id    ---查询返回值