none
Exportar arquivo CSV com nome das colunas RRS feed

  • Pergunta

  • Bom dia,

    Estou criando um arquivo no formato csv através de um comando BCP com os dados de uma Procedure.

    O arquivo está gerando normalmente, porém, não traz o nome das colunas ('AS'), alguém sabe informar qual comando devo usar para exportar os nomes das colunas?

    Query:

    declare @sql nvarchar(max); 
    set @sql = 'exec  [database].[dbo].[Envia_Arquivo]'

    declare @filename varchar(255);
    set @filename = 'C:\Users\Documents\Arquivo.csv'

    declare @cmd varchar(8000);
    set @cmd = 'bcp "'+@sql+'" queryout '+@filename+' -c -t; -T -S SERVIDOR'

    exec master..xp_cmdshell @cmd 


    Procedure:

    ALTER PROCEDURE [dbo].[Envia_Arquivo]

    AS

    SELECT

    T0.DocNum AS 'Nº SAP',
    'PC' AS 'Tipo',
    T1.LineNum + 1 AS 'Num Linha',
    isnull(T1.TrgetEntry,'') AS 'Num. NF',
    convert(nvarchar,T0.DocDate,104) AS 'Data de Lançamento',
    convert(nvarchar,T0.TaxDate,104) AS 'Data de Emissão',
    T0.CardCode AS 'Cod Fornecedor',
    T0.CardName         AS 'Fornecedor',
    T7.Usage AS 'Uso Principal',
    T3.ItmsGrpNam AS 'Grupo Mercadoria',
    T1.ItemCode AS 'Cod Material',
    T0.Project AS 'GCm (Projeto)',
    CONVERT(VARCHAR, T4.BPLid) + '. ' + 
    CONVERT(VARCHAR, T4.AliasName) AS 'Filial',
    T1.unitMsr AS 'UMP',
    T1.Dscription AS 'Texto Breve Item',
    convert(int,T1.Quantity)                 AS 'Qtde',
    replace(cast(T1.Price as money),',','.')                 AS 'Valor Unitário',
    replace(cast(T1.Linetotal as money),',','.')                 AS 'Valor líquido',
    T1.Currency AS 'Moeda',
    T5.U_NAME AS 'Usuário'

    FROM 

    OPOR T0
    LEFT JOIN POR1 T1 ON T1.DocEntry = T0.DocEntry
    LEFT JOIN OITM T2 ON T2.Itemcode = T1.ItemCode
    LEFT JOIN OITB T3 ON T3.ItmsGrpCod = T2.ItmsGrpCod
    JOIN OBPL T4 ON T4.BPLid = T0.BPLid
    JOIN OUSR T5 ON T5.USERID = T0.UserSign
    JOIN POR12 T6 ON T6.DocEntry = T0.DocEntry
    JOIN OUSG T7 ON T7.ID = T6.MainUsage

    WHERE T0.DocDate > '01-01-2019'
    AND T0.CANCELED = 'N'

    AND T5.USERID IN (7,53,61)
    GO


    segunda-feira, 8 de julho de 2019 14:13

Respostas

Todas as Respostas