Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

inaciot

povoamento de tabelas

Recommended Posts

Ae galera! Sou Novo em banco de dados oracle, e estou com uma dúvida, tenho uma tabela que precisa fazer relação com outra tabela, mas queria saber se tem como pegar todos os registro de uma tabela e inserir na outra lembrando que são mais de 30 mil, teria como fazer isso com um insert só, a tabela e a mesma

Compartilhar este post


Link para o post
Compartilhar em outros sites

Defina melhor este problema , como está , ao menos para mim , ficou pouco claro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resumindo Eu tenho uma tabela que tem todos os registro que eu preciso porém eu queria esses registro em outra tabela só que são mais de trinta mil, qual melhor alternativa ? Fazer uma relação de tabelas entre elas ( e como fazer? Só me interessa alguns campos que contém os registro) ou existe alguma forma de pegar todos os registro que preciso dessa tabela e inserir em outra de uma vez só ( lembrando que sou totalmente leigo em banco estou começando agora) grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

De forma "simples , não.

 

Um bloco plsql é uma forma

BEGIN
  FOR R IN (SELECT CAMPO1 FROM TABELA1)
  LOOP
      INSERT INTO TABELA2 (CAMPO2) VALUES (R.CAMPO1);
  END LOOP;
END;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara a melhor opção nesse caso é fazer uma chave primaria que relacione elas

Por exemplo, eu tenho uma tabela de ALUNOS e uma tabela de NOTAS
Eu não preciso ter todas as informações dos ALUNOS na tabela de NOTAS.

Basta eu colocar na tabela de ALUNOS
- Matricula
- Nome
- Idade
- Sala

e na tabela de NOTAS
- Matricula
- Nota
- Data
- Disciplina


Note que em ambas as tabelas tem a informação matricula

Assim sendo, se eu vi que o aluno com matricula 2099289 tirou nota 10 em Portugues e eu quero saber o nome dele.

Basta eu fazer

SELECT Matricula.Alunos as "Matricula",

Nome.Alunos as "Nome",

Disciplina.Notas as "Disciplina",
Nota.Notas as "Nota",

FROM Notas,

Alunos

WHERE Matricula.Alunos = Nota.Alunos

AND Nota.Notas = "10"

AND Disciplina.Notas = "Portugues"

AND Matricula.Alunos = "2099289"

 

Assim se vc observar, voce esta pegando o nome do aluno, da tabela ALUNOS, mas usando a informação que vc pegou da tabela NOTAS.

Basicamente, vc sabe qual a nota, mas quer saber o aluno.
Ai vc consulta em outra tabela qual o nome do aluno correspondente aquela matricula.

Qualquer duvida, entre em contato.

:skull: @napalm23zero

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.