inserção em banco mysql
bom dia,
gostaria de uma ajuda.
queria saber se tem como eu acrescentar um registro em duas tabelas ao mesmo tempo, por exemplo.
tem uma tabela codigo, nome, dataCadastro e uma segunda tabela codigo,foto. quando eu inserir na primeira tabela quero que o sistema já coloque na segunda o código que o mysql gerou autoincremet e a foto, tem como fazer isso? o delete eu consigo através do inner join e inserção tem como fazer alguma coisa do tipo?
agradecendo desde já
gostaria de uma ajuda.
queria saber se tem como eu acrescentar um registro em duas tabelas ao mesmo tempo, por exemplo.
tem uma tabela codigo, nome, dataCadastro e uma segunda tabela codigo,foto. quando eu inserir na primeira tabela quero que o sistema já coloque na segunda o código que o mysql gerou autoincremet e a foto, tem como fazer isso? o delete eu consigo através do inner join e inserção tem como fazer alguma coisa do tipo?
agradecendo desde já
Piaum3
Curtidas 0
Respostas
Rafaela.campos
08/05/2006
Olha através de uma sentença SQL so vc não vai conseguir, vc vai ter que realizar 2 insercoes msm, o q posso te sugerir eh q, pelo Delphi, no evento AfterPost ou AfterApplyUpdates da 1 tabela vc coloque o evento de inserção da segunda.
Espero ter ajudado
Att
Espero ter ajudado
Att
GOSTEI 0
Piaum3
08/05/2006
ok entendi,
mais desse jeito eu posso perder uma ocorrência, por exemplo deu problema no windows bem depois que eu inseri as primeiras informações, e não consegui inserir na segunda tabela entende, ai pronto caiu a credibilidade do meu sistema, sei que pela velocidade de processamento será uma em um milhão mais se esse um acontecer, ai sujou legal hehehehe
mais desse jeito eu posso perder uma ocorrência, por exemplo deu problema no windows bem depois que eu inseri as primeiras informações, e não consegui inserir na segunda tabela entende, ai pronto caiu a credibilidade do meu sistema, sei que pela velocidade de processamento será uma em um milhão mais se esse um acontecer, ai sujou legal hehehehe
GOSTEI 0
Rafaela.campos
08/05/2006
Tiago, seguinte, tenho outra opção pra vc, não sei quais componentes esta usando para acessar seus dados, mas vc poderia fazer uma procedure iniciando a transacao no inicio , passando os dois inserts e em caso de exceção daria um roolback, tipo assim:
try
conexao.startconnection; (ou similar)
componente1.sql.text:=´insert into tab1....´;
componente2.sql.text:=´insert into tab2....´;
conexao.commit;
except
conexao.rollbak;
end;
ou
se utilizar um componente estilo SQLProcessor, podera passar os dois inserts no script e adicionar o commit no fim, assim atingirá seu objetivo, pois caso haja algum erro nada será executado..
Att
try
conexao.startconnection; (ou similar)
componente1.sql.text:=´insert into tab1....´;
componente2.sql.text:=´insert into tab2....´;
conexao.commit;
except
conexao.rollbak;
end;
ou
se utilizar um componente estilo SQLProcessor, podera passar os dois inserts no script e adicionar o commit no fim, assim atingirá seu objetivo, pois caso haja algum erro nada será executado..
Att
GOSTEI 0