Criar rotina para carga inicial e exportação de dados

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
pnet1
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 73
Registrado em: Qui, 23 Jan 2020 9:12 pm

Criei uma tabela para receber determinados registros. Tenho dúvida de como fazer isso , se uso uma proc ou o Oracle disponibiliza de alguma ferramente para isso.

A regra é essa.

• Criar uma tabela e fazer uma carga inicial (além dos campos acima, precisamos ter uma pk, um campo de data e um campos de status para indicar qual registro está ativo)
• Criar uma rotina que obtenha os dados acima e compare com a nova tabela para saber se teve alteração
o Se tiver, iremos armazenar a informação e extrair para o arquivo uma linha com os registros antigos e uma linha com os registros novos, os registros devem ser separados por “;”
o Se não tiver, não precisa executar nenhuma ação

Gostaria de ter uma idéia de como fazer isso. Quem souber e puder me dar uma dica, agradeço.
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

Bem, o banco de dados é feito pra ser utilizado em praticamente qualquer linguagem de programação.
Então você pode usar alguma linguagem pra isso.

Ou pode fazer uma carga direta usando INSERT INTO tabela... etc.
pnet1
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 73
Registrado em: Qui, 23 Jan 2020 9:12 pm

dr_gori, uma proc não resolve? Eu estava pensando em uma proc, sem parâmetros e ela então verifica e excuta e no seu output seria o arquivo txt exportado. Era ou é isso que tenho em mente.

Sem querer subiu um post igual a esse, duplicando. Não consegui deletar ele.
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

Então. O que você tem até agora ?
Já criou a tabela? Se sim, manda pra gente a estrutura.
Já colocou dados dentro da tabela ? Se sim, manda pra gente.

Já criou a SEGUNDA tabela que vai ser comparada com a primeira ?
Quais campos devem ser comparados?

SIM, dá pra fazer numa procedure, dá pra fazer numa única query também.
pnet1
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 73
Registrado em: Qui, 23 Jan 2020 9:12 pm

em realidade eu só preciso criar a tabela que receberá a carga, as outras de onde vem os dados, já existem e estão populadas. Eu vou fazer um

Selecionar tudo

insert into table select...
Não sei se faço aqui ou crio outra thread, mas nesse insert vindo do select, eu tenho outros campos que não vem, que são um do tipo ID de uma sequence e uma data(SYSDATE) e duas Flags, passando '1' e outra 'E'. Como monto isso no select, já que eu tenho apenas outro select e mais esses, tipo

INSERT INTO TABLE SELECT CAMPO1, CAMPO2 FROM TABLE2

Mas como represento agora os DADOS_SEQ.NEXTVAL, SYSDATE, '1', 'E' na mesma sequencia?
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 33 visitantes