Fevereiro 2, 2010

CSV fácil e rápido

Posted in SQL Server tagged às 17:53 por Henrry Pires

Todos nós já precisamos de criar uma estrutura de dados no velhinho fácil e famoso formato CSV.
Para tal muitas pessoas recorrem a uma funcionalidade do T-SQL que não é propriamente a melhor e mais rápida, isto é cursores. Estes são lentos, consomem muita memória e não é propriamente a maneira correcta de trabalhar.

Pessoalmente quando preciso de exportar alguma coisa para faço uso do seguinte query:

SELECT STUFF(
    (SELECT ', ' + Coluna 
     FROM Tabela FOR XML PATH('')),1, 2, '') AS CSVColumn

Espero que achem útil

Anúncios

2 comentários »

  1. Caio Proiete said,

    Pessoalmente, acho errado utilizar o SQL Server para formatar dados, indepente da forma (cursores, STUFF, ou qualquer outra coisa…), se o objetivo é gerar ficheiros CSV…

    O banco de dados serve para armazenar dados e permitir que eu faça pesquisas sobre esses dados, e acho que deve ser usado para isso.

    A formatação desses dados (geração do CSV) deve sempre ser feita no .NET, seja utilizando um simples StreamWriter, ou então utilizando uma biblioteca especializada (Ex: FileHelpers).

    Abraços,
    Caio Proiete

    • Henrry Pires said,

      Concordo com a tua opinião, no entanto por vezes, por factores que nós como programadores não controlamos, somos obrigados a usar o motor de base de dados para este tipo de finalidades


Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s

%d bloggers like this: