• Heh... looking at it the wrong way...

    Original budget/deadline was wrong because you didn't bid right... Client necessarily changes scale... wants to know why idiots wrote code that wasn't scalable... all future contracts lost because client thinks people who don't have their best interest at heart wrote the code. 

    And, wanna tell be why the following would take more than 2 minutes?  It's still documented , scalable, nasty fast, and it still uses setbased thinking... customer happy, inteviewer happy, boss happy, and my peers don't get the work because I had the for-thought to write code anticipating a change...

    --===== Limit the number of rows to be built

        SET ROWCOUNT 1000000

    --===== Create and populate the table on the fly

      SELECT IDENTITY(INT,1,1) AS RowNum,

             CAST(NULL AS VARCHAR(10)) AS DesiredResult

       INTO #Nums

       FROM Master.dbo.SysColumns sc1 WITH (NOLOCK),

            Master.dbo.SysColumns sc2 WITH (NOLOCK)

    --===== Restore the number of rows to return to normal

         -- Note: Can replace with TOP @variable in SQL 2k5

        SET ROWCOUNT 0

    --===== Produce the desired results according to the

         -- requirements

     SELECT CASE

                 WHEN RowNum % 15 = 0 THEN 'BizzBuzz' --Divisible by 15

                 WHEN RowNum %  3 = 0 THEN 'Bizz'     --Divisible by 3

                 WHEN RowNum %  5 = 0 THEN 'Buzz'     --Divisible by 5

                 ELSE CAST(RowNum AS VARCHAR(10))

            END AS DesiredResult

       FROM #Nums

      ORDER BY RowNum

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)