Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

FANTASMA

Order by @variavel

Recommended Posts

Olá pessoal, eu estou usando em uma store procedure este order by...Tipo o nome do campo, eu quero que seja uma variável (pois saum diversos resultados de ordenação que eu quero) tipo assim: => select bla bla from bla bla order by @variavelO meu problema é que ta dando erro na hora de salvar, e eu naum sei o que está errado, ateh agora naum achei solução...Por acaso alguém ja passou por isso?Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

essa instrução ai é a que você esta usando para salvar?

Deividy,O bla bla que eu coloquei no select foi soh uma suposição, o comando eh completo, a minha dúvida é se tem como usar uma variável no order by, sendo que essa variável vem com valores radômicos de campos... entende?Com isso eu evitaria de aninhar muitos if´s na store procedure...Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite.

 

você pode fazer da seguinte forma:

 

Create Procedure stp_CONSULTA

(

@var_order VarChar(20) = NULL

)

As

Begin

Declare @var_command VarChar(500)

 

If @var_order Is NULL

Begin

Set @var_command = 'Select nome, tipo From TBL_TESTE'

End

Else

Begin

Set @var_command = 'Select nome, tipo From TBL_TESTE Order by ' + @var_order

End

 

Exec (@var_command)

End

GO

 

Espero ter ajudado.

 

Att,

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpe posso ter entendido mais é que você diz salvarhum ve se o meu raciocinio esta errado tambem queria aprendervocê diz salvar para salver não é preciso usar tipo um insert ou um update?to na dúvida agoradesculpe mais uma vez e tambem pela carona na sua dúvida

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite.

 

você pode fazer da seguinte forma:

 

Create Procedure stp_CONSULTA

(

@var_order VarChar(20) = NULL

)

As

Begin

Declare @var_command VarChar(500)

 

If @var_order Is NULL

Begin

Set @var_command = 'Select nome, tipo From TBL_TESTE'

End

Else

Begin

Set @var_command = 'Select nome, tipo From TBL_TESTE Order by ' + @var_order

End

 

Exec (@var_command)

End

GO

 

Espero ter ajudado.

 

Att,

Marcus,

 

Vlw mesmo, eu fiz uma coisa parecida com a sua idéia aqui e deu tudo ok...

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.