CREATE TABLE Dim_Deck (

      CardId tinyint identity(1,1) primary key,

      SuitTxt varchar(10) NOT NULL,

      SuitNum tinyint NOT NULL,

      RankTxt char(1) NOT NULL,

      RankNum tinyint NOT NULL,

      CardTxt char(2) NOT NULL

)

GO

 

DECLARE @SuitCntr tinyint; SET @SuitCntr = 1

WHILE @SuitCntr <= 4

BEGIN

      DECLARE @SuitTxt varchar(10)

      IF @SuitCntr = 1 SET @SuitTxt = 'Clubs'

      ELSE IF @SuitCntr = 2 SET @SuitTxt = 'Diamonds'

      ELSE IF @SuitCntr = 3 SET @SuitTxt = 'Hearts'

      ELSE IF @SuitCntr = 4 SET @SuitTxt = 'Spades'

      ELSE SET @SuitTxt = NULL

 

      DECLARE @RankCntr tinyint; SET @RankCntr = 1

      WHILE @RankCntr <= 13

      BEGIN

            DECLARE @RankTxt char(1)

            IF @RankCntr = 09 SET @RankTxt = 'T'

            ELSE IF @RankCntr = 10 SET @RankTxt = 'J'

            ELSE IF @RankCntr = 11 SET @RankTxt = 'Q'

            ELSE IF @RankCntr = 12 SET @RankTxt = 'K'

            ELSE IF @RankCntr = 13 SET @RankTxt = 'A'

            ELSE SET @RankTxt = LTRIM(STR(@RankCntr + 1))

 

            INSERT Dim_Deck VALUES (@SuitTxt, @SuitCntr, @RankTxt,

                  @RankCntr, UPPER(@RankTxt) + LOWER(LEFT(@SuitTxt, 1)))

 

            SET @RankCntr = @RankCntr + 1

      END

 

      SET @SuitCntr = @SuitCntr + 1

END