INSERT com EXECUTE IMMEDIATE

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
cleberz
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 107
Registrado em: Ter, 15 Nov 2011 8:42 am

Boa tarde pessoal, estou fazendo um insert da seguinte maneira abaixo:

V_TAB := tb_nm.c_cursor;
V_SQL := 'INSERT /*+ APPEND */ INTO FLXSTG.TABELA_A SELECT * FROM '||V_TAB;

EXECUTE IMMEDIATE V_SQL;
COMMIT;

A quetão é que, cada tabela do comando select, contem milhoes de registros. Como eu faço para comitar a cada 5.000 linhas inseridas?
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Olha, acho que vai ter que fazer uma rotina que DIVIDE um pouco essas linhas.
Veja se essa tabela tem PARTITION, dai você pode pegar separadamente os dados de cada partição.
Outra coisa, é tentar achar alguma forma de buscar um grupo de dados de cada vez. (Exemplo: inserir os dados por mês, e comitar).

Isso porque não tem como ficar commitando no meio de um comando INSERT :-S
Responder
  • Informação