初学mssql。一个有关存储过程的问题
怎么把一个存储过程的返回值或者得到的结果赋给一个变量啊? 
 比如这个存储过程 
 EXEC   [master].[dbo].[xp_readerrorlog]   1, 'c:\2.asa '   
 我想把这个句子返回的结果赋给一个变量   。   应该怎么写句子呢?   谢谢啦!
------解决方案--------------------EXEC [master].[dbo].[xp_readerrorlog] 1, 'c:\2.asa ' 
 EXEC是执行存储过程,存储过程的名称是xp_readerrorlog,参数是1和 'c:\2.asa ' 
 ------------------------------------   
 假设过程xp_readerrorlog为如下 
 Create Proc xp_readerrorlog 
 @No  int, 
 @path  varchar(20), 
 @Name  varchar(20) output --带上output表示返回变量参数 
 As 
 SET NOCOUNT ON 
 Select @Name=Name From 表 Where No=@NO And Path=@Path 
 GO 
 现在用下列SQL语句调用这个过程  
 Declare @Name  varchar(20) 
 EXEC [master].[dbo].[xp_readerrorlog] 1, 'c:\2.asa ', @Name output  
 Select @Name 
 就可以得到返回值了。
------解决方案--------------------上面的方法用在你的输出参数在存储过程中存在时,如果没有这样改; 
 Declare @Name  varchar(20) 
 EXEC @Name=[master].[dbo].[xp_readerrorlog] 1, 'c:\2.asa ' 
 Select @Name 
------解决方案--------------------楼上两位正解。
------解决方案--------------------if (exists(select * from sysobjects where name =  'pProcName ' and type =  'p ')) 
 drop proc pProcName 
 create proc pProcName( 
 @outvarName int out) 
 as  
 begin 
    set @outvarName = 123 
 end   
 declare @iOne int 
 exec pProcName @iOne out 
 select @iOne as @iOne   
 写了一个简单的例子