Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
//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;
//***************************************************************************************************
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,