Is there a better way to do this

  • Hey folks, wondering if there was a better / shorter way to do this.

    ALTER PROCEDURE [dbo].[Catalog_AddCategory]

    @SiteIDINT,

    @CategoryNameVARCHAR(50),

    @CategoryDescriptionVARCHAR(MAX),

    @CategoryParentIDINT,

    @ImageIDINT,

    @MessageVARCHAR(50) OUT

    AS

    IF @CategoryParentID IS NULL

    BEGIN

    IF NOT EXISTS(SELECT CategoryID FROM Categories WHERE SiteID = @SiteID AND CategoryName=@CategoryName AND CategoryParentID IS NULL)

    BEGIN

    INSERT INTO Categories(SiteID,CategoryName,CategoryDescription,CategoryParentID,ImageID)

    VALUES(@SiteID,@CategoryName,@CategoryDescription,@CategoryParentID,@ImageID)

    SET @Message = @CategoryName + ' Has been added'

    END

    ELSE

    BEGIN

    SET @Message = @CategoryName + ' Already exists'

    END

    END

    ELSE

    BEGIN

    IF NOT EXISTS(SELECT CategoryID FROM Categories WHERE SiteID = @SiteID AND CategoryName=@CategoryName AND CategoryParentID = @CategoryParentID)

    BEGIN

    INSERT INTO Categories(SiteID,CategoryName,CategoryDescription,CategoryParentID,ImageID)

    VALUES(@SiteID,@CategoryName,@CategoryDescription,@CategoryParentID,@ImageID)

    SET @Message = @CategoryName + ' Has been added'

    END

    ELSE

    BEGIN

    SET @Message = @CategoryName + ' Already Exists '

    END

    END

  • Hey, thanks.

    This looks much cleaner. I am a little rusty with my SQL and totally forgot about the "OR".

Viewing 2 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply