Fórum Inserto #408618
19/10/2011
0
Gostaria de saber se existe a possibilide de inserir dois registro em uma tabela
utilizando somente um insert, sem utilização de procedure e etc, segue exemplo abaixo :
insert into moeda_cotacao (cod_empr, data, cod_moeda) values (1, 10/20/2011);
Lembrando que o select cod_moeda from moeda retorna dois registros
1 - real
2 - dolar.
Att.
Ricardo Rodrigues
Ricardo Rodrigues
Curtir tópico
+ 0Posts
20/10/2011
Ricardo Rodrigues
Gostaria de saber se existe a possibilide de inserir dois registro em uma tabela
utilizando somente um insert, sem utilização de procedure e etc, segue exemplo abaixo :
insert into moeda_cotacao (cod_empr, data, cod_moeda) values (1, 10/20/2011,(select cod_moeda from moeda));
Lembrando que o select cod_moeda from moeda retorna dois registros
1 - real
2 - dolar.
Att.
Ricardo Rodrigues
Gostei + 0
20/10/2011
Gustavo Bretas
set formatdate mdy insert into moeda_cotacao select 1, 10/20/2011, cod_moeda from moeda
Mas no Firebird eu não me lembro se da certo, faça o teste aí depois no diga se deu certo!
O primeiro erro será na data, pelo menos nos Firebirds que eu ja usei a data era no formato DD/MM/YYYY.
Att
Gostei + 0
21/10/2011
Ricardo Rodrigues
topico em aberto, se alguem tiver uma dica, por favor.
Gostei + 0
24/10/2011
Gustavo Bretas
Será na primeira vez que abrir o sistema no dia por exemplo?
Gostei + 0
24/10/2011
Emerson Nascimento
select 1, current_date, cod_moeda from moeda
Gostei + 0
24/10/2011
Gustavo Bretas
insert into moeda_cotacao (cod_empr, data, cod_moeda) select 1, current_date, cod_moeda from moeda
ou
insert into moeda_cotacao select 1, 10/20/2011, cod_moeda from moeda
Não é a mesma coisa? (A não ser a variável current_date)
Se levarmos em consideração que no select retorna todas as três colunas da tabela é como escrevermos INSERT TABELA VALES (1, 2, 3), Concorda?
A não ser que seja uma particularidade do Firebird!
Gostei + 0
25/10/2011
Emerson Nascimento
insert into moeda_cotacao (cod_empr, data, cod_moeda) select 1, current_date, cod_moeda from moeda
ou
insert into moeda_cotacao select 1, 10/20/2011, cod_moeda from moeda
Não é a mesma coisa? (A não ser a variável current_date)
Se levarmos em consideração que no select retorna todas as três colunas da tabela é como escrevermos INSERT TABELA VALES (1, 2, 3), Concorda?
A não ser que seja uma particularidade do Firebird!
só é a mesma coisa se a tabela moeda_cotacao tiver apenas esse três campos, e na ordem colocada na select.
para não ficar preso a isso, é melhor discriminar os campos. assim, se houver qualquer alteração na estrutura - inclusão ou reposicionamento dos campos - o insert não será comprometido.
uma coisa muito comum no Firebird é o uso de campos autoincremento, ou aqueles que já têm valor default. se eu quero que seja atribuido o autoincremento no campo ou o seu valor default, eu não indico o campo na lista. então devo especificar a quais campos estou fazendo as atribuições. dessa forma fica legível para quem der manutenção na instrução, e de certa forma garantida a execução, pois não sofrerá influência de qualquer reposicionamendo dos campos da tabela.
Gostei + 0
28/10/2011
Ricardo Rodrigues
Att.
Ricardo Rodrigues
Tópico encerrado
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)