|  |  Login Products  Sales  Support  Downloads  About | 
| Home » Technical Support » ElevateDB Technical Support » Product Manuals » ElevateDB Version 2 SQL Manual » SQL/PSM Statements » CASE | 
 CASE
 CASECASE WHEN <BooleanExpression> THEN <StatementBlock> [WHEN <BooleanExpression> THEN <StatementBlock>] [ELSE <StatementBlock>] END CASE; Shorthand Value Syntax CASE <Expression> WHEN <Expression> THEN <StatementBlock> [WHEN <Expression> THEN <StatementBlock>] [ELSE <StatementBlock>] END CASE; <StatementBlock> = [[Label:] BEGIN] [<Statement>;] [<Statement>;] [EXCEPTION] [<Statement>;] [END [Label];]
-- This procedure produces a summary
-- of the number of albums and total album
-- purchases by genre, label, or artist
CREATE PROCEDURE Summaries(IN "SummaryType" CHAR(1) COLLATE ANSI_CI)
BEGIN
    DECLARE Result CURSOR WITH RETURN FOR Stmt;
    CASE SummaryType
    -- Genres summary
    WHEN 'G' THEN
       BEGIN
       PREPARE Stmt FROM 'SELECT Genre AS Name, COUNT(Name) AS NumAlbums,
                          SUM(PurchasePrice) AS TotalPurchases
                          FROM Albums
                          GROUP BY Genre';
       OPEN Result;
       END;
    -- Labels summary
    WHEN 'L' THEN
       BEGIN
       PREPARE Stmt FROM 'SELECT Label AS Name, COUNT(Name) AS NumAlbums,
                          SUM(PurchasePrice) AS TotalPurchases
                          FROM Albums
                          GROUP BY Label';
       OPEN Result;
       END;
    -- Artists summary
    WHEN 'A' THEN
       BEGIN
       PREPARE Stmt FROM 'SELECT Artist AS Name, COUNT(Name) AS NumAlbums,
                          SUM(PurchasePrice) AS TotalPurchases
                          FROM Albums
                          GROUP BY Artist';
       OPEN Result;
       END;
    END CASE;
END| Deviation | Details | 
| None | 
 More Support Options
 More Support Options| This web page was last updated on Tuesday, September 16, 2025 at 04:56 PM | Privacy Policy  Site Map © 2025 Elevate Software, Inc. All Rights Reserved Questions or comments ?  E-mail us at info@elevatesoft.com | 
