[T-SQL]delete table declenche par trigger
J'ai créé ce trigger :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
create trigger custom.tmonth on
custom.custom_sjour for insert
as
begin
declare @inserted_month integer
declare @sjour_month integer
select @inserted_month = max(month(bdate)) from
inserted
select @sjour_month = isnull(max(month(bdate)),0) from
custom.custom_sjour
if @inserted_month = @sjour_month
begin
delete from custom.custom_sjour
end
end |
Le but (souhaité...) de celui-ci est que lorsque j'insère des données dont le max du mois de la colonne bdate des données insérées est égal au max du mois de la colonne bdate de la table custom_sjour la table custom_sjour soit vidée. Le problème est que celui-ci ne fonctionne pas, la table est vidée dans les deux cas suivants (sachant que lors du déclenchement du trigger max(month(custom_sjour.bdate)) est égal à 6) :
Code:
1 2 3 4
|
insert into custom_sjour(bdate) values('2008-07-14')
insert into custom_sjour(bdate) values('2008-06-14') |
Selon ma logique la table devrait etre vidée dans le second cas mais pas dans le premier ! :roll:
merci de votre aide