一个奇怪的问题--未能找到存储过程
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