[firebase-br] RES: Ajuda com SQL (Insert Into)

andre conrado acf.andre em gmail.com
Qua Fev 2 14:07:29 -03 2011


Diego, ainda qto ao ID, vc não precisa usar o SELECT GEN_ID no INSERT,
pode usar o GEN_ID sozinho como se faz com uma outra função qualquer.

Agora, eu acredito q seria mais seguro se vc buscasse na tabela
TB_C100 o último usando um SELECT MAX(ID) FROM TB_C100. Isso evitaria
q numa possível manutenção futura (onde a forma de atualização do
campo ID mudasse) a inserção ficasse inconsistente.

Em 28/01/11, Carlos Alberto<cacgodinho em gmail.com> escreveu:
> Diego,
>
> Tive problemas com inserção de datas no FB mas consegui resolver.
> Faça da seguinte forma que funciona redondo...
>
> sqlstr="INSERT INTO TABELA (Codigo, Data) VALUES ('" & varCodigo & '", '" &
> format(varData,"dd.mm.yyyy") & "')
>
> Espero que ajude...
>
> Carlos Alberto.
>
> ----- Original Message -----
> From: "Diego Maccari" <diegomaccari em ig.com.br>
> To: "FireBase" <lista em firebase.com.br>
> Sent: Friday, January 28, 2011 9:13 AM
> Subject: Re: [firebase-br] RES: Ajuda com SQL (Insert Into)
>
>
> Julio muito obrigado pela dica mas este erro eu já consertei aqui o problema
> estava na falta de uma coluna não era o SELECT GEN_ID
> o firebird aceita varios select's dentro do insert.
>
> mas pra minha felididade agora estou com problema em um campo DATE que não
> aceita um determinado valor exemplo = '10/01/2011'
> como seria a maneira correta de inserir datas no fb  ?
>
> --------------------------------------------------
> From: "Julio Cezar - Desenvolvimento" <juliocezarsilva em sfox.com.br>
> Sent: Friday, January 28, 2011 8:17 AM
> To: "'FireBase'" <lista em firebase.com.br>
> Subject: [firebase-br] RES:  Ajuda com SQL (Insert Into)
>
>> Não sei se ajuda mas se ao inserir na tabela TB_C100_ID vc usar da
>> seguinte
>> forma.
>>
>> INSERT INT TB_C100_ID (SEUS CAMPOS) VALUES (OS VALORES) RETURNING O ID DA
>> TABELA
>>
>> Você têm o id que inseriu nessa tabela disponivel em seu recordset depois
>> basta fazer o insert na outra tabela, desta forma não funcionaria não?
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> Nada substitui o ser humano! Inst. Faber Ludens
>> -----Mensagem original-----
>> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
>> Em
>> nome de Jeter Rabelo Ferreira
>> Enviada em: quinta-feira, 27 de janeiro de 2011 17:52
>> Para: FireBase
>> Assunto: Re: [firebase-br] Ajuda com SQL (Insert Into)
>>
>> GEN_ID(GEN_TB_C100_ID, 1)
>>
>> 2011/1/27 Diego Maccari dos Santos <diegomaccari em ig.com.br>
>>
>>> Ajuda com SQL (Insert Into)
>>>
>>> Pessol estou tentando inserir um registro no BD (Firebird) onde o 1º
>>> campo
>>> ID é chave primaria que recebe o valor de um generator e o ultimo campo é
>>> um
>>> campo INTEIRO no qual estou inserindo o valor da chve primaria de outra
>>> tabela porem este campo não é chave estrangeira estou tentando pegar o
>>> valor
>>> do generator e inserir no campo não está dando certo uso o seguinte SQL:
>>>
>>> INSERT INTO TB_C170 (ID, CNPJ_IMP, MES_IMP, ANO_IMP, REG, NUM_ITEM,
>>> COD_ITEM, DESCR_COMPL, QTD, UNID, VL_ITEM, VL_DESC, IND_MOV, CST_ICMS,
>>> CFOP,
>>> COD_NAT, VL_BC_ICMS, ALIQ_ICMS, VL_ICMS, VL_BC_ICMS_ST, ALIQ_ST,
>>> VL_ICMS_ST,
>>> IND_APUR, CST_IPI, COD_ENQ, VL_BC_IPI, ALIQ_IPI, VL_IPI, CST_PIS,
>>> VL_BC_PIS,
>>> ALIQ_PIS, QUANT_BC_PIS, ALIQ_PIS_REAIS, VL_PIS, CST_COFINS, VL_BC_COFINS,
>>> ALIQ_COFINS, QUANT_BC_COFINS, ALIQ_COFINS_REAIS, VL_COFINS, COD_CTA,
>>> ID_C100) VALUES ((SELECT GEN_ID(GEN_TB_C170_ID, 1) FROM RDB$DATABASE),
>>> '00.000.000/0000-00', 'Janeiro', '2010', 'C170', , '73695', NULL, '49',
>>> 'UN', '269,5', '0', '0', '010', '1403', '1403', '0', '7', '0', '0', '0',
>>> '0', '0', NULL, NULL, '0', '0', '0', '01', '269,5', '1,65', NULL, NULL,
>>> '4,45', '01', '269,5', '7,6', NULL, NULL, '20,48', '604', (SELECT
>>> GEN_ID(GEN_TB_C100_ID, 0) FROM RDB$DATABASE));
>>>
>>> Onde está o erro ???
>>> Alguém pode ajudar?
>>>
>>> Acho que o erro está no ultimo SELECT GEN_ID que coloquei pra pegar o ID
>>> atual da outra tabela, a tabela chama TB_C100 e o Generation
>>> GEN_TB_C100_ID.
>>> ______________________________________________
>>> 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
>>>
>>
>>
>>
>> --
>> []'s
>> Jéter Rabelo Ferreira
>> ______________________________________________
>> 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
>


-- 
Um Abraço,
André Conrado.

055 21 9176-7013 - Claro
055 21 9896-5449 - Vivo (apenas mensagens SMS)




Mais detalhes sobre a lista de discussão lista