Bonjour alors voici mon trigger

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
USE [geststockmazars]
GO
/****** Object:  Trigger [dbo].[suppr_four]    Script Date: 05/04/2011 16:56:53 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[suppr_four]
ON [dbo].[fournisseur] FOR delete
as
declare
@id_four numeric(2,0)
begin
select @id_four = nofour from deleted;
delete from consommable
where reffour = @id_four
end

Je souhaitais qu'il supprime automatiquement dans ma table consommable qui contient tout mes consommables tout les consommables qui ont pour reffour (reference forunnisuser) le fournisseur qu'on supprime de la table fournisseur.
Me suis-je trompé ?

Voilà mes tables :

consommable (noprod, proddesig, prodprix, qtestock, datemodif, codetype#, reffour#)
fournisseur (nofour, libfour, raisonsoc)
typeconso (notype, libtype)
users(id, login , pass, statut)

La base de données est consituée de 4 tables : consommable, fournisseur, typeconso et users :

La table consommable contient les différents consommables stockés dans la base de données
La table fournisseur répertorie les différents fournisseurs des consommables
La table typeconso recense elle les différents types de consommables
Enfin, la table users stocke les différents utilisateurs et leurs droits.


Merci d'avance !

Edit: le problème ne semble pas venir de mon trigger mais du fait que j'ai mis une clé étrangère entre ces 2 tables.
Quand je lenleve la suppression se fait et le trigger sexecute.
Comment faire pour que cela fonctionne sans que je n'ai à enlever cette clé étrangère ?