none
VARCHAR(MAX) EM RESULTADO RRS feed

  • Pergunta

  • Pessoal,

    Tenho uma tabela de varios XMLs de venda, e preciso juntar todos em um so, fiz um cursor para isso, porem quando junto todos com a variavel NVARCHAR (MAX) o resultado é cortado, quando dou um ctrl c e ctrl v no bloco de notas. Pelo que vi essa variavel comporta ate 2Gb de dados, sendo asssim me parece que é alguma outra coisa, segue abaixo o meu cursor. Consigo usar esta variavel ou preciso de outra, não consegui usar o TXT como variavel no cursor. Alguem pode me ajudar ?


    Declare @venda XML,
    @ArquivoXML NVARCHAR(MAX),
    @idPedido INT

    DECLARE CS_COUNTTABLE CURSOR FAST_FORWARD FOR
    SELECT DISTINCT [idXMLPedidosVendas],[XMLPedidosVendas] from [DBIntegracaoViajanet].[dbo].[TB_ImportaPedidosTravel] 
    --WHERE [data] = @Data

    -- Entra no cursor
    OPEN CS_COUNTTABLE
    FETCH NEXT FROM CS_COUNTTABLE into @idPedido,@venda

    SET @ArquivoXML = ''

     WHILE @@FETCH_STATUS = 0

      BEGIN 
     SET @ArquivoXML = @ArquivoXML + (SELECT XMLPedidosVendas FROM [DBIntegracaoViajanet].[dbo].[TB_ImportaPedidosTravel] WHERE [idXMLPedidosVendas] = @idPedido)
       
      FETCH NEXT FROM CS_COUNTTABLE into @idPedido,@venda

      END

    SELECT @ArquivoXML

    • Movido Gustavo Maia Aguiar quarta-feira, 22 de agosto de 2012 12:44 (De:SQL Server - Infra Geral)
    terça-feira, 21 de agosto de 2012 15:27

Respostas

  • Qual é o tipo de dados da coluna XMLPedidosVendas na tabela?

    Você já tentou uma conversão na hora de atribuir pra variável?

    Ex.:

    SET @ArquivoXML = @ArquivoXML + (SELECT CONVERT(NVARCHAR(MAX), XMLPedidosVendas) FROM [DBIntegracaoViajanet].[dbo].[TB_ImportaPedidosTravel] WHERE [idXMLPedidosVendas] = @idPedido)


    Roberson Ferreira - Database Developer
    Acesse: www.robersonferreira.com.br
    Email: contato@robersonferreira.com.br

    Se 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.

    terça-feira, 21 de agosto de 2012 17:45

Todas as Respostas