Skip to main content
Announcements
Global Transformation Awards! Applications are now open. Submit Entry
cancel
Showing results for 
Search instead for 
Did you mean: 
mvaugusto
Creator
Creator

Inserir dados no banco

//Como realizar um insert no banco de dados

//insert data base

//Aba de rotinas

//---------------------------------------------------

SUB CriarLinhasParaInsert

  //Limpando variáveis utizadas para seguir índice e criar script de inserção

  LET linha = 1;

  LET dados = '';

  //Criando índice de linhas a serem processadas

  Linhas: LOAD Concat(DISTINCT linha, ',', linha) as linhas Resident tabela;

  LET linhas = FieldValue('linhas',1);

  DROP Table Linhas;

ENDSUB

//***************************************************************************************************

NULLASVALUE *;

SET nulldisplay = 'null';

//***************************************************************************************************

SUB InserirLinhas

  //Percorrendo cada linha do índice criado anteriormente

  FOR Each linha in $(linhas)

  //Lendo cada linha concatenada de acordo com o índice

  LET dados = Replace(Peek('campo',$(linha)-1,'tabela'), Chr(39) & 'null' & Chr(39), 'null');

  //Inserindo a linha na base

  SQL $(linhaDados)

  VALUES (

  $(dados)

  );

  SQL Commit;

  LET vInsertAtual = '$(linha)' & ' / ' & NoOfRows('tabela') & ' - ' & '$(vTabela)';

  TRACE $(vInsertAtual);

  NEXT

  DROP Table tabela;

ENDSUB

//=========================================================================

//Aba da tabela

//***************************************************************************************************

LET linha = 1;

LET dados = '';

LET linhaDados = '';

LET vTabela = 'F02478.QV_STG_RF_BDV02_CAIXA';

//***************************************************************************************************

LET linhaDados = 'INSERT INTO F02478.QV_STG_RF_BDV02_CAIXA

  (

  "REFERENCIA RF",

  "DATA CAIXA",

  "PATROCINADORA / PLANO",

  COMPROMISSADA,

  COMPROMISSADA1,

  JUROS,

  RECEBIMENTO,

  PAGAMENTOS,

  PRÉVIA,

  Patrimônio,

  ITAPOA,

  filename

  )';

tabela:

LOAD

  RowNo() as linha,

  Chr(39) & [REFERENCIA RF] & Chr(39) & ',' &

  Chr(39) & [DATA CAIXA] & Chr(39) & ',' &

  Chr(39) & [PATROCINADORA / PLANO] & Chr(39) & ',' &

  Chr(39) & COMPROMISSADA & Chr(39) & ',' &

  Chr(39) & COMPROMISSADA1 & Chr(39) & ',' &

  Chr(39) & JUROS & Chr(39) & ',' &

  Chr(39) & RECEBIMENTO & Chr(39) & ',' &

  Chr(39) & PAGAMENTOS & Chr(39) & ',' &

  Chr(39) & PRÉVIA & Chr(39) & ',' &

  Chr(39) & Patrimônio & Chr(39) & ',' &

  Chr(39) & ITAPOA & Chr(39) & ',' &

  Chr(39) & filename()   & Chr(39) as campo

FROM

[$(vDiretorio)$(vArquivo)]

(ooxml, embedded labels, header is 4 lines, table is CAIXA)

WHERE len([REFERENCIA RF]) > 0

;

   

CALL CriarLinhasParaInsert;

 

CALL InserirLinhas;

   

//***************************************************************************************************

Labels (1)
1 Reply
rklaytonmb
Partner - Creator
Partner - Creator

Bom dia MVAUGUTO,

Como fica a performance utilizando esse procedimento de insert?

Chegou a executar esse procedimento com uma massa de dados grande, quantos inserts foram realizados,em quanto tempo e qual a configuração do servidor de banco de dados?

Grato,