首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

郁闷,这么简单的语句都不能运行,该怎么处理

2012-01-02 
郁闷,这么简单的语句都不能运行CREATEprocasx@tablenamevarchar(50),asselect*fromtablenameGOexecasxorde

郁闷,这么简单的语句都不能运行
CREATE       proc       asx
@tablename   varchar(50)     ,    
    as      
select       *   from   tablename  

GO      

exec   asx   'orders '
go


提示错误:
服务器:   消息   137,级别   15,状态   2,过程   asx,行   4
必须声明变量   '@tablename '。
服务器:   消息   208,级别   16,状态   1,过程   asx,行   4
对象名   'tablename '   无效。

请高人指点迷津~

[解决办法]
--表名是变量,需要用动态SQL语句
CREATE proc asx
@tablename varchar(50)
as

declare @sql varchar(8000)

set @sql= 'select * from ' + @tablename

exec (@sql)

GO

exec asx 'orders '
go


[解决办法]
CREATE proc asx @tablename varchar(50)
as
exec( 'select * from '+@tablename )

热点排行