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

小弟我是初学者,exec中,关于order by出错的提问

2012-01-23 
我是菜鸟,exec中,关于order by出错的提问!exec( select*from+@tablename1+orderby日期desc )提示:在关键字

我是菜鸟,exec中,关于order by出错的提问!
exec( 'select   *   from   '+   @tablename1   +   'order   by   日期   desc ')

提示:在关键字   'by '   附近有语法错误。

[解决办法]
表变量@tablename1传不进exec,只能用临时表替代
select * into # from @tablename1
exec( 'select * from # order by 日期 desc ')
drop table #
[解决办法]
declare @sql vchar(1000)
set @sql= 'select * from '+ @tablename1 + 'order by 日期 desc '
exec(@sql)
[解决办法]
原来是空格的问题:)
exec( 'select * from '+ @tablename1 + ' order by 日期 desc ') order前加空格
--------------------------------------
declare @tablename1 varchar(10)
set @tablename1 = 't '
create table t (conumber int,日期 datetime)
insert into t (conumber,日期)values(10, '2007-11-02 ')
insert into t (conumber,日期)values(2, '2007-1-03 ')
insert into t (conumber,日期)values(3, '2007-02-02 ')
insert into t (conumber,日期)values(4, '2007-07-02 ')
insert into t (conumber,日期)values(5, '2007-03-02 ')

exec( 'select * from '+ @tablename1 + ' order by 日期 desc ')
drop table t

热点排行
Bad Request.