Obter codigo do Funcionario/Cliente e inserir
Eu gostaria de inserir na minha tabela TELEFONES o codigo do FUNCIONARIO que for cadastrado, ou o codigo do CLIENTE quando fosse cadastrado, eu ate tentei criar duas trigger, ambas em ON TELEFONES mas ai e um problema, porque quando eu vou inserir no CLIENTE, eu tambem coloquei pra inserir o TELEFONE na tabela TELEFONES e junto com ela, obter o codigo do novo CLIENTE e gravando os mesmos na tabela TELEFONES..
As trigger estao assim
para inserir o codigo e o telefone do cliente
e para inserir o codigo do funcionario e o telefone
Pois e, isso e um problema porque quando inserir o FUNCIONARIO, o codigo do cliente vem junto... alguem pode me ajudar em uma logica pra isso ?
As trigger estao assim
para inserir o codigo e o telefone do cliente
create trigger obterCodClienteTelefone on TELEFONES after insert as begin DECLARE @codCliente int, @numero varchar(30) set @codCliente = ( select top 1 codCliente FROM CLIENTES order by codCliente desc ) select @numero = numeroTel from inserted update TELEFONES set codCliente=@codCliente where numeroTel = @numero end
e para inserir o codigo do funcionario e o telefone
create trigger obterCodFuncTelefone on TELEFONES after insert as begin DECLARE @codFunc int, @numero varchar(30) set @codFunc = ( select top 1 codFunc FROM FUNCIONARIOS order by codFunc desc ) select @numero = numeroTel from inserted update TELEFONES set codFunc=@codFunc where numeroTel = @numero end
Pois e, isso e um problema porque quando inserir o FUNCIONARIO, o codigo do cliente vem junto... alguem pode me ajudar em uma logica pra isso ?
Leandro
Curtidas 0
Respostas
Luiz Freitas
21/10/2016
Boa noite Leandro, tudo bem?
Você não precisa criar trigger's pra fazer o que você precisa ai, dá uma olhada na vídeo aula do Alan Glei, no blog dele:
Ele mostra como trabalhar com relação mestre detalhe... o exemplo é com duas tabelas, mas poderiam ser várias, o princípio é o mesmo; o único detalhe é que a vídeo aula foi gravada utilizando a versão XE3 do Delphi, e nessa versão os componentes do FireDAC ainda se chamavam, por exemplo, a query era TADQuery, ou seja, o prefixo das classes ainda era AD, nas versões mais recentes, a query por exemplo se chama TFDQuery, o prefixo agora é FD.
Qualquer dúvida entra em contato...
t++
Você não precisa criar trigger's pra fazer o que você precisa ai, dá uma olhada na vídeo aula do Alan Glei, no blog dele:
http://alan-gomes.blogspot.com.br/2013/04/firedac-cadastro-mestredetalhe.html
Ele mostra como trabalhar com relação mestre detalhe... o exemplo é com duas tabelas, mas poderiam ser várias, o princípio é o mesmo; o único detalhe é que a vídeo aula foi gravada utilizando a versão XE3 do Delphi, e nessa versão os componentes do FireDAC ainda se chamavam, por exemplo, a query era TADQuery, ou seja, o prefixo das classes ainda era AD, nas versões mais recentes, a query por exemplo se chama TFDQuery, o prefixo agora é FD.
Qualquer dúvida entra em contato...
t++
GOSTEI 0
Luiz Freitas
21/10/2016
deu um bug aqui e o endereço do vídeo não saiu no post original... então segue:
http://alan-gomes.blogspot.com.br/2013/04/firedac-cadastro-mestredetalhe.html
http://alan-gomes.blogspot.com.br/2013/04/firedac-cadastro-mestredetalhe.html
GOSTEI 0
Leandro
21/10/2016
Nao da pra fazer sem ter que usar o TFDQuery ?
Meu sistema esta todo constituido por TADOQuery's e nao ficaria muito compreensivel se eu mesclasse
Meu sistema esta todo constituido por TADOQuery's e nao ficaria muito compreensivel se eu mesclasse
GOSTEI 0
Luiz Freitas
21/10/2016
Leandro,
Dei uma olhada e não encontrei (não quero dizer que não existe, somente que eu não encontrei) nada parecido utilizando TADOQuery, mas com TADOTable sim..
https://www.youtube.com/watch?v=8Y4OcM1eq1Q
Uma pergunta... você está dando manutenção em um sistema já existente? Porque os componentes da paleta FireDAC são muito mais poderosos que os da paleta ADO... te dão muito mais opções e recursos.
De qualquer forma, dá uma olhada no vídeo, talvez te ajude.
Dei uma olhada e não encontrei (não quero dizer que não existe, somente que eu não encontrei) nada parecido utilizando TADOQuery, mas com TADOTable sim..
https://www.youtube.com/watch?v=8Y4OcM1eq1Q
Uma pergunta... você está dando manutenção em um sistema já existente? Porque os componentes da paleta FireDAC são muito mais poderosos que os da paleta ADO... te dão muito mais opções e recursos.
De qualquer forma, dá uma olhada no vídeo, talvez te ajude.
GOSTEI 0