Inserir e deletar em duas tabelas ao mesmo tempo

04/06/2008

2

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


Responder

Posts

05/06/2008

Cicero-padim

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;


Responder

06/06/2008

Brunodsr

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,


Responder

09/06/2008

Eniorm

amigos, isso funciona para exclusão! e para inclusão, é válido tbm???

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?


Responder

10/06/2008

Brunodsr

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.


Responder

27/10/2015

Luiz Ferreira

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???
Responder

27/10/2015

Marcos P

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...
Responder