Inserir e deletar em duas tabelas ao mesmo tempo
Boa Tarde!
Pessoa,
to precisando inserir e deletar de uma só vez alguns registros entre duas tabelas relacionadas via SQL.
Usando: SQL Server e ADO
Vlw
Pessoa,
to precisando inserir e deletar de uma só vez alguns registros entre duas tabelas relacionadas via SQL.
Usando: SQL Server e ADO
Vlw
Tiagofxz
Curtidas 0
Respostas
Cicero-padim
04/06/2008
Vc só precisa criar um relaciomento entre as duas tabelas, definir o tipo de relaciomento e se é cascata. Isso mesmo se vc definir como cascata irá propagar o que vc fizer na tabela mestre.
Não sei se fui claro mais é isso ai.
Cícero;
Não sei se fui claro mais é isso ai.
Cícero;
GOSTEI 0
Brunodsr
04/06/2008
Exatamente o que o cicero falou:
Pega esse exemplo aí:
Alter Table Clientes Add Constraint FK_CLIENTES Foreign Key (id) references
Cidade (ID) on delete cascade on update cascade.
Espero ter ajudado,
Pega esse exemplo aí:
Alter Table Clientes Add Constraint FK_CLIENTES Foreign Key (id) references
Cidade (ID) on delete cascade on update cascade.
Espero ter ajudado,
GOSTEI 0
Eniorm
04/06/2008
amigos, isso funciona para exclusão! e para inclusão, é válido tbm???
por exemplo tenho 2 tabelas e monto um sql assim
supondo que eu uso Firebird com IBX(MDO) e uso esse SQL num dataset, eu consigo inserir dados em [b:50a3d192de]1[/b:50a3d192de] dessas tabelas usando apenas um Dataset1.Insert/Post/Comit?
por exemplo tenho 2 tabelas e monto um sql assim
select tab1.*, tab2.* from tabela1 tab1, tabela2 tab2 where tab1.cod = tab2.cod_tab1 and ....
supondo que eu uso Firebird com IBX(MDO) e uso esse SQL num dataset, eu consigo inserir dados em [b:50a3d192de]1[/b:50a3d192de] dessas tabelas usando apenas um Dataset1.Insert/Post/Comit?
GOSTEI 0
Brunodsr
04/06/2008
Olá,
Infelizmente o cascade foi criado para referência de integridade para que registros não ficassem ´boiando´ no banco. Portanto, ao alterar o valor da PK de um registro, ou mesmo deletá-lo, as suas referências são atualizadas/deletadas em cascata.
Eu recomento o uso disso apenas para mestre-detalhe.
Quanto à inserção automática, vc pode fazer via trigger. Mas daí depende do que vc quer obter de verdade.
Espero ter ajudado. Um abraço.
Infelizmente o cascade foi criado para referência de integridade para que registros não ficassem ´boiando´ no banco. Portanto, ao alterar o valor da PK de um registro, ou mesmo deletá-lo, as suas referências são atualizadas/deletadas em cascata.
Eu recomento o uso disso apenas para mestre-detalhe.
Quanto à inserção automática, vc pode fazer via trigger. Mas daí depende do que vc quer obter de verdade.
Espero ter ajudado. Um abraço.
GOSTEI 0
Luiz Ferreira
04/06/2008
Caros !!!!
Estou trabalhando com uma estrutura de banco de dados "sequinha". Ou seja. Somente existe o Primary Key declarado. Sem Triggers, sem referências, sem nada.
Enfim. Preciso deletar um registro de uma tabela mester e seu respectivo na tabela "referência" em uma única linha SQL.
Estou utilizando o PostGreSQL. Já consultei toda a documentação do PostGre e não fala absolutamente NADA sobre esta operação......
Já busquei algumas soluções na Net mas nada que efetivamente funcione.....
Alguém pode me ajudar???
Estou trabalhando com uma estrutura de banco de dados "sequinha". Ou seja. Somente existe o Primary Key declarado. Sem Triggers, sem referências, sem nada.
Enfim. Preciso deletar um registro de uma tabela mester e seu respectivo na tabela "referência" em uma única linha SQL.
Estou utilizando o PostGreSQL. Já consultei toda a documentação do PostGre e não fala absolutamente NADA sobre esta operação......
Já busquei algumas soluções na Net mas nada que efetivamente funcione.....
Alguém pode me ajudar???
GOSTEI 0
Marcos P
04/06/2008
Luiz,
A primary key da tabela master é a foreign key na tabela detalhe, certo ?
Qual a dificuldade de deletar primeiro os registros da tabela detalhes, usando a chave estrangeira como referência, e, depois, o registro principal da tabela mestre ?
Tenho a impressão que não entendi muito bem sua dúvida...
A primary key da tabela master é a foreign key na tabela detalhe, certo ?
Qual a dificuldade de deletar primeiro os registros da tabela detalhes, usando a chave estrangeira como referência, e, depois, o registro principal da tabela mestre ?
Tenho a impressão que não entendi muito bem sua dúvida...
GOSTEI 0