Skip to content

Instantly share code, notes, and snippets.

@roberto-filho
Created March 25, 2014 12:43
Show Gist options
  • Select an option

  • Save roberto-filho/9761102 to your computer and use it in GitHub Desktop.

Select an option

Save roberto-filho/9761102 to your computer and use it in GitHub Desktop.
SQL que foi utilizado para importar notas fiscais de uma base para outra.
INSERT INTO MovimentacaoContabil (id, avulsa, datamovimentacao, filial, lote, valor, dataalteracao, datacadastro, usuarioalteracao_id, usuariocadastro_id, empresa_id)
SELECT * FROM dblink ('hostaddr=192.168.0.10 dbname=grubermaicon user=postgres password=admin',
'with q as(
select *
from notafiscal
where datacriacao::date = ''2014-03-22''::date
and empresa_id = 1476
and numero not in (883922,902052,1175,10185)
)
SELECT id+150000, avulsa, datamovimentacao, filial, lote+500, valor, m.dataalteracao, m.datacadastro, m.usuarioalteracao_id, m.usuariocadastro_id, m.empresa_id
FROM movimentacaocontabil m
JOIN q on q.movimentacaocontabil_id = m.id'
) AS minha_tabela(id integer, avulsa boolean, datamovimentacao timestamp, filial boolean, lote bigint, valor numeric,
dataalteracao timestamp, datacadastro timestamp, usuarioalteracao_id bigint, usuariocadastro_id bigint, empresa_id bigint);
---------------------------------------
---------------------------------------
---------------------------------------
---------------------------------------
---------------------------------------
INSERT INTO lancamentocontabil (id, datacadastro, datalancamento, filial, historico, tipo, valor, conta_id, empresa_id, complemento)
SELECT * FROM dblink ('hostaddr=192.168.0.10 dbname=grubermaicon user=postgres password=admin',
'with q as(
select *
from notafiscal
where datacriacao::date = ''2014-03-22''::date
and empresa_id = 1476
and numero not in (883922,902052,1175,10185)
)
select l.id+150000, l.datacadastro, datalancamento, l.filial, historico, tipo, l.valor, conta_id, l.empresa_id, complemento from lancamentocontabil l where l.id in (select lancamentos_id from movimentacaocontabil_lancamentocontabil where movimentacaocontabil_id in (select a.movimentacaocontabil_id from q as a))'
) AS minha_tabela(id integer, datacadastro timestamp, datalancamento timestamp, filial boolean, historico text, tipo character,
valor numeric, conta_id bigint, empresa_id bigint, complemento text);
---------------------------------------
---------------------------------------
---------------------------------------
---------------------------------------
---------------------------------------
INSERT INTO movimentacaocontabil_lancamentocontabil (lancamentos_id, movimentacaocontabil_id)
SELECT * FROM dblink ('hostaddr=192.168.0.10 dbname=grubermaicon user=postgres password=admin',
'with q as(
select *
from notafiscal
where datacriacao::date = ''2014-03-22''::date
and empresa_id = 1476
and numero not in (883922,902052,1175,10185)
) select lancamentos_id+150000, movimentacaocontabil_id+150000 from movimentacaocontabil_lancamentocontabil where movimentacaocontabil_id in (select a.movimentacaocontabil_id from q as a)'
) AS minha_tabela(lancamentos_id bigint, movimentacaocontabil_id bigint);
---------------------------------------
---------------------------------------
---------------------------------------
---------------------------------------
---------------------------------------
INSERT INTO produto (id, ativo, codigointerno, descricao, eancomercial, eantributado,
idcliente, pesobruto, pesoliquido, quantidademinima, quantidadetributacao,
unidadecomercial, unidadetributado, usar_csts_ncms, valorunitariocomercial,
valorunitariotributado, dataalteracao, datacadastro, usuarioalteracao_id,
usuariocadastro_id, cstcofins_id, cstcofinsentrada_id, csticms_id,
csticmsentrada_id, cstipi_id, cstipientrada_id, cstpis_id, cstpisentrada_id,
empresa_id, ncm_id, aliqcofins, aliqcofinsentrada, aliqicms,
aliqicmsentrada, aliqipi, aliqipientrada, aliqpis, aliqpisentrada,
produtoparametrizado, basecalculocredito_id, generoitem_id, tipoitem_id,
naturezareceita_id, tabelaprodutoanp_id, classificacaoitem_id,
cumulativo, contaseupoder_id, contaterceirosseupoder_id, contaposseterceiros_id,
ncm, ncmimportado, numeroeximportado, numeroexcecao, datavigencia,
fornecedor_id, ignorarprodutoapuracao, naturezafrete_id)
SELECT * FROM dblink ('hostaddr=192.168.0.10 dbname=grubermaicon user=postgres password=admin',
'with q as(
select *
from notafiscal
where datacriacao::date = ''2014-03-22''::date
and empresa_id = 1476
and numero not in (883922,902052,1175,10185)
) SELECT distinct p.id+160000, ativo, codigointerno||''x'' as codigointerno, descricao, eancomercial, eantributado,
idcliente, pesobruto, pesoliquido, quantidademinima, p.quantidadetributacao,
unidadecomercial, unidadetributado, usar_csts_ncms, p.valorunitariocomercial,
p.valorunitariotributado, p.dataalteracao, p.datacadastro, p.usuarioalteracao_id,
p.usuariocadastro_id, p.cstcofins_id, p.cstcofinsentrada_id, p.csticms_id,
p.csticmsentrada_id, p.cstipi_id, p.cstipientrada_id, p.cstpis_id, p.cstpisentrada_id,
p.empresa_id, ncm_id, aliqcofins, aliqcofinsentrada, aliqicms,
aliqicmsentrada, aliqipi, aliqipientrada, aliqpis, aliqpisentrada,
produtoparametrizado, p.basecalculocredito_id, p.generoitem_id, p.tipoitem_id,
p.naturezareceita_id, tabelaprodutoanp_id, classificacaoitem_id,
cumulativo, contaseupoder_id, contaterceirosseupoder_id, contaposseterceiros_id,
ncm, ncmimportado, numeroeximportado, numeroexcecao, datavigencia,
fornecedor_id, ignorarprodutoapuracao, naturezafrete_id
FROM Produto p,
ITEMNOTAFISCAL
WHERE (especie, serie, tipofaturamento, numero, empresaid) in (select especie, serie, tipofaturamento, numero, empresa_id from q)
and ITEMNOTAFISCAL.produto_id = p.id'
) AS minha_tabela(id bigint, ativo boolean, codigointerno character varying(60), descricao character varying(500), eancomercial character varying(30), eantributado character varying(30),
idcliente bigint, pesobruto numeric(14,4), pesoliquido numeric(14,4), quantidademinima numeric(14,4), quantidadetributacao numeric(14,4),
unidadecomercial character varying(255), unidadetributado character varying(255), usar_csts_ncms boolean, valorunitariocomercial numeric(14,6),
valorunitariotributado numeric(14,6), dataalteracao timestamp, datacadastro timestamp, usuarioalteracao_id bigint,
usuariocadastro_id bigint, cstcofins_id bigint, cstcofinsentrada_id bigint, csticms_id bigint,
csticmsentrada_id bigint, cstipi_id bigint, cstipientrada_id bigint, cstpis_id bigint, cstpisentrada_id bigint,
empresa_id bigint, ncm_id bigint, aliqcofins numeric(14,2), aliqcofinsentrada numeric(14,2), aliqicms numeric(14,2),
aliqicmsentrada numeric(14,2), aliqipi numeric(14,2), aliqipientrada numeric(14,2), aliqpis numeric(14,2), aliqpisentrada numeric(14,2),
produtoparametrizado boolean, basecalculocredito_id bigint, generoitem_id bigint, tipoitem_id bigint,
naturezareceita_id bigint, tabelaprodutoanp_id bigint, classificacaoitem_id bigint,
cumulativo boolean, contaseupoder_id bigint, contaterceirosseupoder_id bigint, contaposseterceiros_id bigint,
ncm character varying(255), ncmimportado character varying(255), numeroeximportado character, numeroexcecao character, datavigencia date,
fornecedor_id bigint, ignorarprodutoapuracao boolean, naturezafrete_id bigint
)
where (codigointerno, empresa_id, fornecedor_id, datavigencia) not in (select codigointerno, empresa_id, fornecedor_id, datavigencia from produto prod where prod.empresa_id = 1476);
---------------------------------------
---------------------------------------
---------------------------------------
---------------------------------------
---------------------------------------
INSERT INTO notafiscal(
basecalcicms, basecalcicmsst, chaveacesso, datacriacao, dataemissao,
datasaida, especievolume, formafrete, formapagamento, importada,
infadicionais, marcavolumes, modelo, naturezaoperacao, numeracaovolumes,
pesobruto, pesoliq, quantidadetransportada, situacao, status,
valorcofinsisento, valorcofinsmonofasico, valoricms, valoricmsst,
valortotalbcipi, valortotalcofins, valortotaldescontos, valortotalfrete,
valortotalii, valortotalipi, valortotalnotafiscal, valortotaloutrasdespesas,
valortotalpis, valortotalprodutos, valortotalseguro, xmlnota,
dataalteracao, datacadastro, usuarioalteracao_id, usuariocadastro_id,
serie, fornecedorid, empresaid, tipofaturamento, numero, especie,
cliente_id, conhecimentotransporte_id, empresa_id, fornecedor_id,
movimentacaocontabil_id, transportador_id, veiculo_id, documentoexportacao_id,
documentoimportacao_id, fornecimentoconsumo_id, notadevolvida_forecedorid,
notadevolvida_serie, notadevolvida_empresaid, notadevolvida_tipofaturamento,
notadevolvida_numero, notadevolvida_especie)
SELECT * FROM dblink ('hostaddr=192.168.0.10 dbname=grubermaicon user=postgres password=admin',
'select basecalcicms, basecalcicmsst, chaveacesso, datacriacao, dataemissao,
datasaida, especievolume, formafrete, formapagamento, importada,
infadicionais, marcavolumes, modelo, naturezaoperacao, numeracaovolumes,
pesobruto, pesoliq, quantidadetransportada, situacao, status,
valorcofinsisento, valorcofinsmonofasico, valoricms, valoricmsst,
valortotalbcipi, valortotalcofins, valortotaldescontos, valortotalfrete,
valortotalii, valortotalipi, valortotalnotafiscal, valortotaloutrasdespesas,
valortotalpis, valortotalprodutos, valortotalseguro, xmlnota,
dataalteracao, datacadastro, usuarioalteracao_id, usuariocadastro_id,
serie, fornecedorid, empresaid, tipofaturamento, numero, especie,
cliente_id, conhecimentotransporte_id, empresa_id, fornecedor_id,
movimentacaocontabil_id+150000, transportador_id, veiculo_id, documentoexportacao_id,
documentoimportacao_id, fornecimentoconsumo_id, notadevolvida_forecedorid,
notadevolvida_serie, notadevolvida_empresaid, notadevolvida_tipofaturamento,
notadevolvida_numero, notadevolvida_especie
from notafiscal
where datacriacao::date = ''2014-03-22''::date
and empresa_id = 1476
and numero not in (883922,902052,1175,10185)')
as minha_tabela(basecalcicms numeric,
basecalcicmsst numeric,
chaveacesso text,
datacriacao timestamp,
dataemissao date,
datasaida date,
especievolume text,
formafrete text,
formapagamento text,
importada boolean,
infadicionais text,
marcavolumes text,
modelo text,
naturezaoperacao text,
numeracaovolumes text,
pesobruto numeric,
pesoliq numeric,
quantidadetransportada numeric,
situacao text,
status text,
valorcofinsisento numeric,
valorcofinsmonofasico numeric,
valoricms numeric,
valoricmsst numeric,
valortotalbcipi numeric,
valortotalcofins numeric,
valortotaldescontos numeric,
valortotalfrete numeric,
valortotalii numeric,
valortotalipi numeric,
valortotalnotafiscal numeric,
valortotaloutrasdespesas numeric,
valortotalpis numeric,
valortotalprodutos numeric,
valortotalseguro numeric,
xmlnota text,
dataalteracao timestamp,
datacadastro timestamp,
usuarioalteracao_id bigint,
usuariocadastro_id bigint,
serie text,
fornecedorid bigint,
empresaid bigint,
tipofaturamento integer,
numero bigint,
especie text,
cliente_id bigint,
conhecimentotransporte_id bigint,
empresa_id bigint,
fornecedor_id bigint,
movimentacaocontabil_id bigint,
transportador_id bigint,
veiculo_id bigint,
documentoexportacao_id bigint,
documentoimportacao_id bigint,
fornecimentoconsumo_id bigint,
notadevolvida_forecedorid bigint,
notadevolvida_serie text,
notadevolvida_empresaid bigint,
notadevolvida_tipofaturamento integer,
notadevolvida_numero bigint,
notadevolvida_especie text);
---------------------------------------
---------------------------------------
---------------------------------------
---------------------------------------
---------------------------------------
INSERT INTO itemnotafiscal(
aliquotacofins, aliquotacreditoicms, aliquotaicms, aliquotaicmsst,
aliquotaipi, aliquotapis, classeenquadipi, codigoenquadipi, descricaoproduto,
infadicional, modalidadebcst, outrovalor, posicaoitem, quantidadecomercial,
quantidadetributacao, valorbcicms, valorbcicmsst, valorbcicmsstret,
valorbcipi, valorcofins, valorcreditoicms, valordesconto, valorfrete,
valoricms, valoricmsst, valoricmsstret, valoripi, valoroutrasdespesas,
valorpis, valorseguro, valortotal, valorunitariocomercial, valorunitariotributado,
basecalculocredito_id, cfop_id, cstcofins_id, csticms_id, cstipi_id,
cstpis_id, generoitem_id, empresaid, fornecedorid, serie, numero,
especie, tipofaturamento, produto_id, tipoitem_id, movimentacaofisica,
vinculocreditocofins, vinculocreditopis, naturezareceitacofins_id,
naturezareceitapis_id, valorbccofins, valorbcpis, valortotalproduto)
SELECT * FROM dblink ('hostaddr=192.168.0.10 dbname=grubermaicon user=postgres password=admin',
'with q as(
select *
from notafiscal
where datacriacao::date = ''2014-03-22''::date
and empresa_id = 1476
and numero not in (883922,902052,1175,10185)
)
select aliquotacofins, aliquotacreditoicms, aliquotaicms, aliquotaicmsst,
aliquotaipi, aliquotapis, classeenquadipi, codigoenquadipi, descricaoproduto,
infadicional, modalidadebcst, outrovalor, posicaoitem, quantidadecomercial,
quantidadetributacao, valorbcicms, valorbcicmsst, valorbcicmsstret,
valorbcipi, valorcofins, valorcreditoicms, valordesconto, valorfrete,
valoricms, valoricmsst, valoricmsstret, valoripi, valoroutrasdespesas,
valorpis, valorseguro, valortotal, valorunitariocomercial, valorunitariotributado,
basecalculocredito_id, cfop_id, cstcofins_id, csticms_id, cstipi_id,
cstpis_id, generoitem_id, empresaid, fornecedorid, serie, numero,
especie, tipofaturamento, produto_id+160000, tipoitem_id, movimentacaofisica,
vinculocreditocofins, vinculocreditopis, naturezareceitacofins_id,
naturezareceitapis_id, valorbccofins, valorbcpis, valortotalproduto
from itemnotafiscal
where (especie, serie, tipofaturamento, numero, empresaid) in (select especie, serie, tipofaturamento, numero, empresa_id from q)')
as minha_tabela(
aliquotacofins numeric,
aliquotacreditoicms numeric,
aliquotaicms numeric,
aliquotaicmsst numeric,
aliquotaipi numeric,
aliquotapis numeric,
classeenquadipi text,
codigoenquadipi text,
descricaoproduto text,
infadicional text,
modalidadebcst text,
outrovalor numeric,
posicaoitem integer,
quantidadecomercial numeric,
quantidadetributacao numeric,
valorbcicms numeric,
valorbcicmsst numeric,
valorbcicmsstret numeric,
valorbcipi numeric,
valorcofins numeric,
valorcreditoicms numeric,
valordesconto numeric,
valorfrete numeric,
valoricms numeric,
valoricmsst numeric,
valoricmsstret numeric,
valoripi numeric,
valoroutrasdespesas numeric,
valorpis numeric,
valorseguro numeric,
valortotal numeric,
valorunitariocomercial numeric,
valorunitariotributado numeric,
basecalculocredito_id bigint,
cfop_id bigint,
cstcofins_id bigint,
csticms_id bigint,
cstipi_id bigint,
cstpis_id bigint,
generoitem_id bigint,
empresaid bigint,
fornecedorid bigint,
serie text,
numero bigint,
especie text,
tipofaturamento integer,
produto_id bigint,
tipoitem_id bigint,
movimentacaofisica boolean,
vinculocreditocofins integer,
vinculocreditopis integer,
naturezareceitacofins_id bigint,
naturezareceitapis_id bigint,
valorbccofins numeric,
valorbcpis numeric,
valortotalproduto numeric);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment