[firebase-br] Insert de multiplas linhas

Alysson Gonçalves de Azevedo agalysson em gmail.com
Qua Nov 17 09:06:02 -03 2010


hmmm legal, mas pelo que vi, ele quer popular uma tabela (provavelmente para
testes) e queria uma forma de reduzir/simplificar o script com os inserts,
para ter menos "insert into" repetidos...

entao, talvez essa query ai num seja o que ele quer... (apesar de ser mesmo
interessante ^^)

mas aproveitando o gancho... esse metodo ai, insert+select+union fica mais
rapido que em inserts comuns?

obrigado


Alysson Gonçalves de Azevedo
(11) 8491-7730

(\(''^_^ )/)

"Pobre vive dizendo que não tem nada, mas quando vem a enchente, ele sai
gritando: -Perdi tudo!!!"



Em 17 de novembro de 2010 08:42, Kelver Merlotti <kmerlotti em gmail.com>escreveu:

> Dá pra simular com insert into select..unio..select, veja:
>
> create table teste(
>  campo1 integer,
>  campo2 integer,
>  campo3 varchar(20)
> );
>
> para importar:
>
> insert into teste(campo1, campo2, campo3)
> select gen_id(gen1, 1), cast('123' as integer), cast('dado 1' as
> varchar(20) from rdb$database UNION
> select gen_id(gen1, 1), cast('456' as integer), cast('dado 2' as
> varchar(20) from rdb$database UNION
> select gen_id(gen1, 1), cast('789' as integer), cast('dado 3' as
> varchar(20) from rdb$database UNION
> select gen_id(gen1, 1), cast('321' as integer), cast('dado 4' as
> varchar(20) from rdb$database ...
>
> E assim vai, lembrando que há um limite de 127 UNIONs por query, logo,
> tem que se preocupar com esse limite.
>
> Em um teste que o amigo Eduardo Rocha fez para escrever um artigo pra
> Active Delphi, ao importar um txt com 5000 linhas usando um insert
> para cada linha, levou 11 segundos. O mesmo arquivo sendo dividido em
> um insert a cada 127 linhas, com esta técnica de
> insert..into..select..union..select, levou apenas 4 segundos.
>
> Vale a pena fazer os testes! ;-)
>
> Quem tiver a edição 64 da Revista poderá ver mais detalhes.
>
> Abraços!
>
> Kelver Merlotti
> Coordenador Editorial da Active Delphi
> Site: http://www.activedelphi.com.br
> Contato: kelver em activedelphi.com.br
> Twitter: http://www.twitter.com/kmerlotti
> Tem um segundo? Então, dá uma olhadinha nisso:
> Um site de publicidades, de Portugal, está pagando em euros
> (quase 3x mais que em reais) pra quem estiver disposto a:
> * Ler anúncios
> * Visitar sites
> * Clicar em banners
> * Navegar na NET
> * Ler e-mails
> * Convidar novos usuários
> O pagamento pode ser feito de várias formas!
> Registra lá. Não custa nada!!! ;-)
> http://www.publipt.com/pages/index.php?refid=kmerlotti
>
>
>
> 2010/11/16 Marco Antonio Abreu <mabreu.ti em gmail.com>:
> > Por curiosidade, alguém sabe se existe previsão para o suporte ao insert
> de
> > várias linhas?
> >
> > abs
> > --
> > Marco Antonio Abreu
> > mabreu.ti em gmail.com
> > System Analist/Developer/DBA
> >
> >
> > Em 16 de novembro de 2010 23:38, Eduardo Bahiense <
> > eduardo em icontroller.com.br> escreveu:
> >
> >> Não tem :(
> >>
> >>
> >> Em 16/11/2010 23:28, Marco Antonio Abreu escreveu:
> >>
> >>> Olá pessoal.
> >>>
> >>> estou precisando popular várias tabelas de um BD Firebird. Tentei fazer
> um
> >>> insert de multiplas linhas de uma vez tal como faço em outros BD como
> >>> MySQL
> >>> e MS SQL. Algo como o exemplo abaixo.
> >>>
> >>> INSERT INTO tab(c1, c2, c3) VALUES (1, 1, 1), (2, 2, 2), (3, 3, 3);
> >>>
> >>> Quando tentei executar deu erro. O Firebird não tem suporte a esta
> >>> sintaxe?
> >>>
> >>> abs
> >>> --
> >>> Marco Antonio Abreu
> >>> mabreu.ti em gmail.com
> >>> System Analist/Developer/DBA
> >>> ______________________________________________
> >>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> >>> Para saber como gerenciar/excluir seu cadastro na lista, use:
> >>> http://www.firebase.com.br/fb/artigo.php?id=1107
> >>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >>>
> >>>
> >>
> >>
> >> ______________________________________________
> >> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> >> Para saber como gerenciar/excluir seu cadastro na lista, use:
> >> http://www.firebase.com.br/fb/artigo.php?id=1107
> >> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >>
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista