ShoppingCartPart_UnusedCheck

Definition

Copy


            CREATE TRIGGER [dbo].[ShoppingCartPart_UnusedCheck]
                ON [dbo].[ShoppingCartPart] FOR DELETE
            AS
                DECLARE @UsedSitePages AS Table ([ID] int);

                INSERT INTO @UsedSitePages ([ID])
                SELECT
                    pc.[SitePagesID]
                FROM
                    deleted d
                INNER JOIN [dbo].[PageContent] pc
                    ON d.[SiteContentID] = pc.[SiteContentID];

                IF EXISTS
                (
                    SELECT
                        TOP (1) cd.[ID]
                    FROM
                        [dbo].[ClientDonations] cd
                    INNER JOIN @UsedSitePages usp
                        ON cd.[ShoppingCartPageID] = usp.[ID]
                )
                BEGIN
                    RAISERROR('"FK_" relation between ClientDonations and ShoppingCartPart', 15, 1);
                    ROLLBACK TRAN;
                    RETURN;
                END

                IF EXISTS
                (
                    SELECT
                        TOP (1) cd.[ID]
                    FROM
                        [dbo].[ClientEvents] cd
                    INNER JOIN @UsedSitePages usp
                        ON cd.[ShoppingCartPageID] = usp.[ID]
                )
                BEGIN
                    RAISERROR('"FK_" relation between ClientEvents and ShoppingCartPart', 15, 2);
                    ROLLBACK TRAN;
                    RETURN;
                END

                IF EXISTS
                (
                    SELECT
                        TOP (1) cd.[ID]
                    FROM
                        [dbo].[ClientMemberships] cd
                    INNER JOIN @UsedSitePages usp
                        ON cd.[ShoppingCartPageID] = usp.[ID]
                )
                BEGIN
                    RAISERROR('"FK_" relation between ClientMemberships and ShoppingCartPart', 15, 3);
                    ROLLBACK TRAN;
                    RETURN;
                END