Usuário com melhor resposta
retornar número de colunas de uma query

Pergunta
-
tenho a seguinte query:
select campo1, campo2, campo3 from tabela
como eu pego o total de colunas que retornou numa query? nesse casso teria q retornar 3
sexta-feira, 21 de setembro de 2012 18:06
Respostas
-
Verifiquei o seguinte: se você puder jogar o resultado da sua consulta para uma tabela temporária, você consegue usar a sys.columns para saber o número de colunas desta tabela.
Exemplo:
Select Codigo, Nome Into #TabelaAuxiliar From TabelaPrincipal Select Count(*) From TempDb.sys.columns Where object_id = OBJECT_ID('TempDb..#TabelaAuxiliar')
Roberson Ferreira - Database Developer
Acesse: www.robersonferreira.com.br
Email: contato@robersonferreira.com.brSe esta sugestão for útil, por favor, classifique-a como útil.
Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.- Sugerido como Resposta Fernando Maradei sexta-feira, 21 de setembro de 2012 18:19
- Marcado como Resposta rafa-martin sexta-feira, 21 de setembro de 2012 18:30
sexta-feira, 21 de setembro de 2012 18:16Moderador
Todas as Respostas
-
Exatamente pra que você precisa disso?
Pergunto pra saber o que realmente pode ser usado pra lhe ajudar.
Pois a princípio, se você sabe como montar a query, você sempre saberá a quantidade de colunas que está sendo usada.
Então por que precisa dessa informação dinamicamente?
Roberson Ferreira - Database Developer
Acesse: www.robersonferreira.com.br
Email: contato@robersonferreira.com.brSe esta sugestão for útil, por favor, classifique-a como útil.
Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.sexta-feira, 21 de setembro de 2012 18:10Moderador -
porque esse caso é apenas um exemplo. porém, as colunas serão passas num array como parâmetro numa proc.
então pode vir n colunas. por isso quero retornar a quantidade colunas que está retornando no select. o mesmo será dinamico.
como seria?
sexta-feira, 21 de setembro de 2012 18:15 -
Verifiquei o seguinte: se você puder jogar o resultado da sua consulta para uma tabela temporária, você consegue usar a sys.columns para saber o número de colunas desta tabela.
Exemplo:
Select Codigo, Nome Into #TabelaAuxiliar From TabelaPrincipal Select Count(*) From TempDb.sys.columns Where object_id = OBJECT_ID('TempDb..#TabelaAuxiliar')
Roberson Ferreira - Database Developer
Acesse: www.robersonferreira.com.br
Email: contato@robersonferreira.com.brSe esta sugestão for útil, por favor, classifique-a como útil.
Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.- Sugerido como Resposta Fernando Maradei sexta-feira, 21 de setembro de 2012 18:19
- Marcado como Resposta rafa-martin sexta-feira, 21 de setembro de 2012 18:30
sexta-feira, 21 de setembro de 2012 18:16Moderador -
opa!!!
deu certinho.
valeu!!
sexta-feira, 21 de setembro de 2012 18:22