DATETIME SELECT SELECT INTO DATE PAD STRING DYNAMIC SQL CURSOR MONEY FORMAT PERCENT STORED PROCEDURE SQL SERVER AGENT JOB OPTIMIZATION WHILE LOOP OVER PARTITION BY UPDATE
SITE SEARCH SQLUSA.com HEADLINES NEWS
SQL E/BOOKS   SQL 2014 PROGRAMMING   DOWNLOADS
SCRIPTS SQL 2005 SQL 2008 ARTICLES
SQL JOBS TWITTER FORMAT VIDEOS
How to architect math drill sproc for subtraction?

Execute the following Microsoft SQL Server Transact-SQL (T-SQL) script in Management Studio (SSMS) Query Editor, SQLCMD or other client software to create and apply an subtraction drills stored procedure:

USE AdventureWorks

GO

 

-- SQL Server stored procedure with parameters - SQL random number

CREATE PROC sprocMathTrainerSubtraction(

           @DrillNumber INT,

           @Level       INT,

           @Result      BIT)

AS

  BEGIN

    DECLARE  @Counter SMALLINT

    

    DECLARE  @Drill  TABLE(

                           SEQUENCE INT,

                           [Left]   INT,

                           [Right]  INT,

                           Result   VARCHAR(15)

                           )

    

    SET @Counter = 1

    

    WHILE @Counter <= @DrillNumber

      BEGIN

        INSERT @Drill

        SELECT @Counter,

               @Level * RAND(),

               @Level * RAND(),

               ''

        

        DELETE @Drill

        WHERE  [Left] < [Right]

        

        IF @@ROWCOUNT > 0

          CONTINUE

        

        SET @Counter = @Counter + 1

      END

    

    SELECT convert(VARCHAR,SEQUENCE) + '. ' + convert(VARCHAR,[Left]) +

' - ' + convert(VARCHAR,[Right]) + ' = '

    FROM   @Drill

    

    IF @Result = 1

      BEGIN

        UPDATE @Drill

        SET    Result = convert(VARCHAR,([Left] - [Right]))

        

        SELECT convert(VARCHAR,SEQUENCE) + '. ' + convert(VARCHAR,[Left]) +

' - ' + convert(VARCHAR,[Right]) + ' = ' + Result

        FROM   @Drill

      END

  END

 

GO

 

EXEC sprocMathTrainerSubtraction

  60 ,

  30 ,

  1

 

GO

 

/* Partial results

 

1. 22 - 1 =

2. 25 - 3 =

3. 12 - 12 =

4. 19 - 4 =

5. 28 - 28 =

6. 26 - 15 =

7. 24 - 10 =

8. 8 - 7 =

 

*/

 

Exam Prep 70-461
Exam 70-461
DATETIME SELECT SELECT INTO DATE PAD STRING DYNAMIC SQL CURSOR MONEY FORMAT PERCENT STORED PROCEDURE SQL SERVER AGENT JOB OPTIMIZATION WHILE LOOP OVER PARTITION BY UPDATE