Estes dias me solicitaram para criar uma trigger para excluir os registros filhos de uma tabela, como os itens da nota, sempre que o registro principal fosse excluído.
Expliquei o procedimento para a pessoa, mas aproveitei para comentar que ela poderia ter o mesmo resultado usando o recurso DELETE CASCADE, presente nas versões mais atuais dos bancos de dados.
Abaixo coloquei um exemplo da declaração de duas tabelas: pedido e os itens do pedido.
Sempre que o pedido for excluído, todos os itens do pedido serão excluídos automaticamente.
Create Table Pedido
(CodPedido Int not null primary key,
DataPedido DateTime,
Cliente Varchar(40));
Create Table ItemPedido
(CodPedido int not null,
CodItem int not null,
Qtdade decimal(9,2),
Valor decimal(9,2)
Constraint pk_ItemPedido Primary key (CodPedido, CodItem)
Constraint fk_ItemPedido_01 Foreign key (CodPedido)
References Pedido(CodPedido) ON DELETE CASCADE)
Bacana o que você postou !
ResponderExcluirResolveu o meu problema.