Method Madness: Cast Your Vote

Bala Madhusoodhanan - Jul 10 '23 - - Dev Community

When it comes to handling conditional logic in SQL, developers have long debated the merits of two prominent approaches: the traditional if-else method and the powerful CASE statement

Are you a staunch supporter of if-else or an advocate for the versatility of CASE?

Image description

Logic 1: Using If-Else Statment

CREATE PROCEDURE FlagOrderPriority
    @OrderID INT,
    @OrderValue DECIMAL(10, 2)
AS
BEGIN
    SET NOCOUNT ON;

    DECLARE @Priority VARCHAR(20);

    IF @OrderValue > 30
        SET @Priority = 'Big Customer Order';
    ELSE IF @OrderValue >= 10 AND @OrderValue <= 30
        SET @Priority = 'Medium Order';
    ELSE
        SET @Priority = 'Low priority order';

    -- Log the order priority
    INSERT INTO OrderLog (OrderID, Priority)
    VALUES (@OrderID, @Priority);
END;
Enter fullscreen mode Exit fullscreen mode

Logic 2: Using Case Statement

CREATE PROCEDURE FlagOrderPriority
    @OrderID INT,
    @OrderValue DECIMAL(10, 2)
AS
BEGIN
    SET NOCOUNT ON;

    DECLARE @Priority VARCHAR(20);

    SET @Priority = CASE
        WHEN @OrderValue > 30 THEN 'Big Customer Order'
        WHEN @OrderValue >= 10 AND @OrderValue <= 30 THEN 'Medium Order'
        ELSE 'Low priority order'
    END;

    -- Log the order priority
    INSERT INTO OrderLog (OrderID, Priority)
    VALUES (@OrderID, @Priority);
END;

Enter fullscreen mode Exit fullscreen mode

Question 1: Method Madness If-else V/s Case statment

Question 2: Code Maintainence

Question 3:Code Performance

Question 4:Code enhancement

Question 5:Code Quality

Question 6:Persona

Cast your vote and let your voice be heard in this methodology faceoff

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .