Ensuite j'ai voulu faire en sorte que lorsqu'on supprime un enregistrement de la table "Item", l'enregistrement correspondant de la table "Report" soit supprimé aussi. J'ai donc fait :
Code :
ALTER TABLE [dbo].[Item]
ADD CONSTRAINT [cnstI2] FOREIGN KEY ([ReportID])
REFERENCES [dbo].[Report] ([ID])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
Mais ça ne fonctionne pas, si je fait "delete from Item where ReportID=311;" , l'enregistrement de la table Report avec l'ID 311 n'est pas effacé.
Alors d'où le problème peut-il venir ? Ca ne fonctionne pas comme ça le "on delete cascade" ? J'ai fait une erreur de requète ? Où j'ai mal compris le principe ?
Marsh Posté le 15-06-2006 à 11:52:12
Bonjour,
Je suis en train de m'occuper d'une petite base de données, et j'ai un petit problème d'effacement en cascade.
En fait j'ai deux tables ("Report" et "Item" ) que j'ai créées comme ça :
Ensuite j'ai voulu faire en sorte que lorsqu'on supprime un enregistrement de la table "Item", l'enregistrement correspondant de la table "Report" soit supprimé aussi. J'ai donc fait :
Mais ça ne fonctionne pas, si je fait "delete from Item where ReportID=311;" , l'enregistrement de la table Report avec l'ID 311 n'est pas effacé.
Alors d'où le problème peut-il venir ? Ca ne fonctionne pas comme ça le "on delete cascade" ? J'ai fait une erreur de requète ? Où j'ai mal compris le principe ?
Merci d'avance