Como passar um parâmetro para um ORDER BY ?

SQL Server

13/12/2004

Como utilizar um parametro em uma SP para escolhar uma colula para o ORDER BY ?

A SP abaixo dá erro no ORDER BY:

create procedure SP_Listagem
@dtinicio datetime,
@dtfim datetime,
@ordem int
as
select codigo, nome, valor
from produto
where datacad between @dtinicio and @ dtfim
order by @Ordem


Pan7

Pan7

Curtidas 0

Respostas

Fer_nanda

Fer_nanda

13/12/2004

Tentou colocar o parametro na sua seleção? Tipo se o parametro @ordem é igual ao codigo coloque no seu
select @Ordem, nome, valor 
from produto 
where datacad between @dtinicio and @ dtfim 
order by @Ordem

Teste e conta o q acontece, até.


GOSTEI 0
Marcus.magalhaes

Marcus.magalhaes

13/12/2004

Boa tarde.

Faça da seguinte forma :

[color=red:4b3c732711]create procedure SP_Listagem
@dtinicio datetime,
@dtfim datetime,
@ordem int
as

Declare @comando VarChar(300)
Set @comando = ´select codigo, nome, valor from produto where datacad between ´´´ + Convert(VarChar, @dtinicio) + ´´´ and ´´´ + Convert(VarChar, @dtfim) + ´´´ order by ´ + Convert(VarChar, @Ordem)

Exec (@comando)[/color:4b3c732711]

Att,


GOSTEI 0
Pan7

Pan7

13/12/2004

Marcus,

Quando vi sua solução lembrei do meu curso de SQL !!!

Apanhei um pouco com as aspas, mas deu certo.

Valeu a força.

[] Pan7


GOSTEI 0
POSTAR