je ce déclencheur dans SQL Server:Trigger reconnaissant les données que les doublons quand il est pas
CREATE TRIGGER MyTrigger ON [dbo].[practiseduplicates]
AFTER INSERT
AS
IF EXISTS (SELECT *
FROM [practiseduplicates] t
INNER JOIN inserted i ON i.[money] = t.[money]
AND i.[Name] = t.[Name]
AND i.[year month] = t.[year month])
BEGIN
ROLLBACK
RAISERROR ('Duplicated Data', 16, 1);
END
j'insère alors ces valeurs (qui sont déjà dans le tableau de données):
insert into [practiseduplicates]
values ('2017-02', 'buzzlightyear', '10.09')
Lorsque je clique sur Exécuter je m'attendais à ce que le message d'erreur apparaisse ... ce qu'il a fait, cependant quand je change les valeurs en information que je sais ne pas dans le tableau de données
'2056-12', 'mr potato head', '12345.09'
Le message d'erreur apparaît toujours en place, alors qu'en réalité il aurait dû simplement insérer les données dans la table, personne ne sait pourquoi est-ce le cas? Je suppose que c'est à faire avec ma déclaration de jointure interne, mais je ne suis pas sûr.
J'espère que cela est un apprentissage sur les déclencheurs excercise, car le maintien des doublons en est le travail de contrainte unique. –
Eh bien c'est plus de garder des doublons, qu'un exercice de déclenchement. Donc je suppose que je suis en train d'utiliser la mauvaise technique? – VS1SQL
Oui, mauvaise technique. –