一个奇怪的问题--未能找到存储过程
create   proc   Ex_Select 
 ( 
 @au_lname   varchar(200), 
 @au_fname   varchar(200), 
 @au_num   int   output 
 ) 
 as 
 begin 
 select   @au_num=count(*)   from   authors 
 declare   @sql   varchar(200) 
 set   @sql= 'select    '+@au_lname+ ', '+@au_fname+ '   from   authors ' 
 exec   @sql 
 end 
 上面是我的存储过程。执行后,我在查询分析器中执行以下语句 
 exec   Ex_Select    'au_lname ', 'au_fname ',0 
 但是报错。错误信息: 
 服务器:   消息   2812,级别   16,状态   62,行   12 
 未能找到存储过程    'select   au_lname,au_fname   from   authors '。 
 为啥。给分 
------解决方案--------------------exec @sql====> 改为 :exec (@sql)
------解决方案--------------------ALTER proc Ex_Select 
 ( 
 @au_lname varchar(200), 
 @au_fname varchar(200), 
 @au_num int output 
 ) 
 as 
 begin 
 select @au_num=count(*) from authors 
 declare @sql varchar(200) 
 set @sql= 'select  '+@au_lname+ ', '+@au_fname+ ' from authors ' 
 exec(@sql) 
 end