trigger_SiteCodeTableEntries_KeywordDeleted
Definition
Copy
CREATE TRIGGER [dbo].[trigger_SiteCodeTableEntries_KeywordDeleted]
ON [dbo].[SiteCodeTableEntries]
AFTER UPDATE, DELETE
AS
BEGIN
SET NOCOUNT ON
DECLARE @CurID int
DECLARE MyCur CURSOR local fast_forward FOR
SELECT DISTINCT sc.ID FROM dbo.SiteContent sc
INNER JOIN
dbo.ObjectTags ot
ON ot.ObjectGuid = sc.Guid
WHERE ot.CodeTableTagID IS NULL
UNION
SELECT sc.ID FROM dbo.SiteContent sc
INNER JOIN
dbo.ObjectTags ot
ON ot.ObjectGuid = sc.Guid
INNER JOIN
(SELECT ID FROM Deleted) tags
ON tags.ID = ot.CodeTableTagID
OPEN MyCur
FETCH NEXT FROM MyCur INTO @CurID
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE dbo.Search SET TagText=dbo.fnBuildTagText(@CurID)
WHERE SiteContentID = @CurID
FETCH NEXT FROM MyCur
INTO @CurID
END
CLOSE MyCur
DEALLOCATE MyCur
DELETE FROM dbo.ObjectTags WHERE CodeTableTagID IS NULL
END