3
respostas

Input Carga_Itens_Notas

Olá,

Já tentei todos os caminhos listado aqui no fórum, e ainda não consegui resolver esse problema. Já atualizei a versão do manegement studio e nada de da certo, consegue me ajudar com mais alguma alternativa?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

3 respostas

Oi! Tudo certo?

A base é grande demais para ser carregada de uma vez só.

Contudo, uma alternativa para lidar com o erro é selecionando as partes da consulta para carregar os dados aos poucos.

Por exemplo, você pode selecionar 100 mil linhas primeiro, e após isso começar a partir da próxima linha e prosseguir dessa forma, perpassando por todas as linhas do banco de dados.

Lembrando que temos por volta de 213 mil linhas no banco de dados.

Se o erro persistir, me retorne, por gentileza.

Abraços e bons estudos!

Existe alguma forma de quebrar o imput em partes para subir a consulta ou eu devo selecionar manualmente?

Oi!

Você pode fazer essa visualização com códigos! Vou deixar aqui o código por completo com alguns comentários, mas lembre-se que é necessário que você "pique" o código pra ver, hahaha. Se você selecionar o código inteiro de uma vez, 4 janelas vão carregar mostrando as diferentes consultas. Portanto, recomendo que faça uma de cada vez.

-- Aqui você vai selecionar do início, linha "zero" até a linha 50.000
SELECT *
FROM ITENS_NOTAS_FISCAIS
ORDER BY NUMERO
OFFSET 0 ROWS FETCH NEXT 50000 ROWS ONLY;

-- Aqui as linhas entre 50.001 e 100.000 são selecionadas
SELECT *
FROM (
    SELECT *, ROW_NUMBER() OVER (ORDER BY NUMERO) AS numeroDeColunas
    FROM ITENS_NOTAS_FISCAIS
) AS subconsulta
WHERE numeroDeColunas BETWEEN 50001 AND 100000;

-- Aqui, as linhas de 100.001 a 150.000
SELECT *
FROM (
    SELECT *, ROW_NUMBER() OVER (ORDER BY NUMERO) AS numeroDeColunas
    FROM ITENS_NOTAS_FISCAIS
) AS subconsulta
WHERE numeroDeColunas BETWEEN 100001 AND 150000;

-- Aqui, as linhas de 150.001 a 200.000
SELECT *
FROM (
    SELECT *, ROW_NUMBER() OVER (ORDER BY NUMERO) AS numeroDeColunas
    FROM ITENS_NOTAS_FISCAIS
) AS subconsulta
WHERE numeroDeColunas BETWEEN 150001 AND 200000;

-- E por fim, as linhas de 200.001 a 214.000
SELECT *
FROM (
    SELECT *, ROW_NUMBER() OVER (ORDER BY NUMERO) AS numeroDeColunas
    FROM ITENS_NOTAS_FISCAIS
) AS subconsulta
WHERE numeroDeColunas BETWEEN 200001 AND 214000;

Espero ter ajudado. Se outra dúvida surgir, estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.