Inserir vários dados em lote.

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
  

Mensagemem Ter, 15 Jan 2008 2:29 pm

Pessoal tenho um situação interessante aqui, tenho vários dados que vão precisar ir sendo inseridos em seqüencia em várias tabelas. Até aí é fácil, porém em vez de ficar dando vários inserts pensei em inserir tudo de uma única vez, para exemplificar no MySQL posso fazer assim:
Código: Selecionar todos
insert into teste1(campo, campo2) values(5, 6), (4, 2)

Como ficaria essa situação no Oracle? Ficar dando vários insert's um para cada linha não ficaria lento?
pyro
Localização: Barala - TT

Mensagemem Ter, 15 Jan 2008 2:49 pm

tp, tem como você criar uma tabela baseada nas informações de outra..
desse jeito
Código: Selecionar todos
Create table teste as select * from teste2


e se os valores que você deseja cadastrar já estiverem em outra tabela pode inserir assim

Código: Selecionar todos
insert into table1
select nome
     , sobrenome
     , telefone
  from table2


esses são os jeitos de facilitar um insert qui eu conheço..
mais se o seu caso não forr esse
eu já não sei...

mais acho qui vai demorar um pokinhu sim.. =D
uma vez eu fiz um script qui inseriou quase 150 linhas em uma tabela..
e demorou um pouco, mais não axei outra escolha
gokden
Localização: Ribeirão Preto - SP

Lucas de Souza

OCA Developer
Analista de sistemas

Mensagemem Ter, 15 Jan 2008 4:06 pm

Brother,

Dê uma pesquisada aqui no fórum por: Bulk Collect e Forall.
Você consegue movimentar grande quantidade de registros.
Talvez o ajude também.
qualquer coisa, manda ai.
Trevisolli
Localização: Araraquara - SP

Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Mensagemem Ter, 15 Jan 2008 4:47 pm

Vou dar uma pesquisada por estes termos.

O que eu acredito ser um problema é que serão entre 2 bancos diferentes então não dá para usar nenhum método mais direto como este:
Código: Selecionar todos
insert into tabela select * from tabela2

Vlw.
pyro
Localização: Barala - TT

Mensagemem Ter, 15 Jan 2008 4:56 pm

Á não ser que você tenha DBLink entre os bancos brother.

Daí você conseguiria dar um select num BD, inserindo numa tabela do outro BD.

Mas, isso você poderia estar analisando juntamente com o DBA da empresa, que irá saber lhe explanar melhor.
Trevisolli
Localização: Araraquara - SP

Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP



Voltar para SQL

Quem está online

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