当前位置: 代码迷 >> Sql Server >> 小弟我是初学者,exec中,关于order by出错的提问
  详细解决方案

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

热度:57   发布时间:2016-04-27 16:28:57.0
我是菜鸟,exec中,关于order by出错的提问!
exec( 'select   *   from   '+   @tablename1   +   'order   by   日期   desc ')

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

------解决方案--------------------
[email protected],只能用临时表替代
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
  相关解决方案