Clemilson,
uma outra forma de fazer é montando a string sql que deseja executar, por exemplo:
declare @strsql varchar(500)
declare @campo varchar(50)
set @campo = "order by campo1 desc"
-- declarei varchar para que possa utilizar o nome do campo, mas dependendo de sua necessidade poderia fornecer o --numero da coluna !
Set @strsql = " Select * from tabela " + @campo
exec(@strsql)
esta é apenas mais uma forma de fazer !!
Espero ter ajudado !!
Até !