-
Portfolio:
- Development |
- Production |
- Animation |
- Design |
- Illustration |
- Performance |
- Writing |
- Marketing |
- Direction
This automated SQL SP progressed a drawing prize amount for every jackpot over a certain amount detected on a specific range of gaming machines (those in the high limit room). It was hand-coded using SQL Query Analyzer, and fed variables to a Flash animation displaying the progressive. This ran every 5 minutes, within scheduled jobs on a SQL Server, and used BCP as well as an XP_CMDSHELL call to initiate copying of text files containing generated variables to a remote computer to feed the associated Flash application.
Jackpot Progressive (SQL Stored Procedure), 2008:
if exists (select * from dbo.sysobjects where id = object_id('dbo.usp_GoldenJackpotProgressive') and OBJECTPROPERTY(id, N'IsProcedure') = 1) drop procedure dbo.usp_GoldenJackpotProgressive GO /*************************************************************************** Date Version Name 09/27/2008 11.5.2 Dana Laratta Automated SP to increment progressive based on jackpot $1,200+ located in the High Limit room. Exports to a local .txt file and calls a .bat file to copy results to Flash animation local ***************************************************************************/ CREATE PROCEDURE dbo.usp_GoldenJackpotProgressive @increment_amount money , @increment_jpminimum money , @specifiedmeasurestart datetime = NULL , @specifiedmeasureend datetime = NULL AS BEGIN --vars for testing --DECLARE @increment_amount money --DECLARE @increment_jpminimum money --DECLARE @specifiedmeasurestart datetime --DECLARE @specifiedmeasureend datetime --set @increment_amount = 25 --set @increment_jpminimum = 1200 --Track Qualifying Jackpots in Subset of SlotNumbers and Icrement a Figure by $25 apieace --Create Table to hold last five qualifying jackpots if exists (select * from dbo.sysobjects where id = object_id(N'usr_GoldenJackpotProgDisplay_Last5') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table gcgmkt.dbo.usr_GoldenJackpotProgDisplay_Last5 CREATE TABLE gcgmkt.dbo.usr_GoldenJackpotProgDisplay_Last5 (DisplayDatetxt varchar(10) , SlotNumbertxt varchar(6) , Denominationtxt varchar(6) , Amounttxt money , JackpotFillDate datetime) --Declare local variables DECLARE @progressive money , @progressions int , @progressivetxt varchar(20) , @progressionstxt varchar(20) , @measurestart datetime , @measureend datetime , @lastdaytxt varchar(10) , @firstdaytxt varchar(10) , @Output varchar(3000) , @bcpCommand varchar(8000) if @specifiedmeasurestart is not null begin set @measurestart = @specifiedmeasurestart end else begin set @measurestart = dateadd(hh,+3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)) end set @firstdaytxt = convert(varchar(10), @measurestart, 101) if @specifiedmeasureend is not null begin set @measureend = @specifiedmeasureend end else begin set @measureend = dateadd(hh,-6,dateadd(mm,1+datediff(mm,0,getdate()),0)) end set @lastdaytxt = convert(varchar(10), @measureend, 101) --print @measurestart --print @firstdaytxt --print @measureend --print @lastdaytxt --Populate Table to hold last five qualifying jackpots insert into gcgmkt.dbo.usr_GoldenJackpotProgDisplay_Last5 (DisplayDatetxt , SlotNumbertxt , Denominationtxt , Amounttxt , JackpotFillDate) select top 5 isnull(convert(varchar(10),tx.MachineDateTime, 110),0), isnull(convert(varchar(6),tx.SlotID),0), isnull(convert(varchar(6),tx.Denomination),0), isnull(convert(money, tx.JackpotFillAmt),0), isnull(tx.MachineDateTime,0) from gmgoasissql.WinOasis.dbo.JF_JACKPOTFILL tx INNER JOIN usr_gmg_gjr_slotnumbers gjr ON tx.SlotID=gjr.SlotNumber Where tx.MachineDateTime > @measurestart and tx.MachineDateTime < @measureend and tx.JackpotFillAmt >= @increment_jpminimum and tx.TransType = 'J' and tx.IsCancelCredit = 'N' and tx.VoidedDateTime is null order by tx.MachineDateTime desc --Populate Progressive Prize Variable select @progressions = isnull(count(distinct tx.TicketNum), 0) ,@progressive = isnull((count(distinct tx.TicketNum) * @increment_amount), 0) from gmgoasissql.WinOasis.dbo.JF_JACKPOTFILL tx INNER JOIN usr_gmg_gjr_slotnumbers gjr ON tx.SlotID=gjr.SlotNumber Where tx.MachineDateTime > @measurestart and tx.MachineDateTime < @measureend and tx.JackpotFillAmt >= @increment_jpminimum and tx.TransType = 'J' and tx.IsCancelCredit = 'N' and tx.VoidedDateTime is null set @progressivetxt = REPLACE( convert(varchar(20), @progressive, 1) ,'.00', '') set @progressionstxt = convert(varchar(20), @progressions) --print @progressivetxt --print @progressionstxt --Variables for output of last 5 DECLARE @d1 varchar(10) , @n1 varchar(6) , @dn1 varchar(6) , @amt1 varchar(20) , @d2 varchar(10) , @n2 varchar(6) , @dn2 varchar(6) , @amt2 varchar(20) , @d3 varchar(10) , @n3 varchar(6) , @dn3 varchar(6) , @amt3 varchar(20) , @d4 varchar(10) , @n4 varchar(6) , @dn4 varchar(6) , @amt4 varchar(20) , @d5 varchar(10) , @n5 varchar(6) , @dn5 varchar(6) , @amt5 varchar(20) SELECT @d1 = DisplayDatetxt from usr_GoldenJackpotProgDisplay_Last5 where JackpotFillDate in (select top 1 JackpotFillDate from usr_GoldenJackpotProgDisplay_Last5) SELECT @n1 = SlotNumbertxt from usr_GoldenJackpotProgDisplay_Last5 where JackpotFillDate in (select top 1 JackpotFillDate from usr_GoldenJackpotProgDisplay_Last5) SELECT @dn1 = Denominationtxt from usr_GoldenJackpotProgDisplay_Last5 where JackpotFillDate in (select top 1 JackpotFillDate from usr_GoldenJackpotProgDisplay_Last5) SELECT @amt1 = replace( convert(varchar(20), Amounttxt, 1) ,'.00', '') from usr_GoldenJackpotProgDisplay_Last5 where JackpotFillDate in (select top 1 JackpotFillDate from usr_GoldenJackpotProgDisplay_Last5) DELETE FROM usr_GoldenJackpotProgDisplay_Last5 WHERE DisplayDatetxt = @d1 and SlotNumbertxt = @n1 and Denominationtxt = @dn1 and Amounttxt = convert(money, @amt1) SELECT @d2 = DisplayDatetxt from usr_GoldenJackpotProgDisplay_Last5 where JackpotFillDate in (select top 1 JackpotFillDate from usr_GoldenJackpotProgDisplay_Last5) SELECT @n2 = SlotNumbertxt from usr_GoldenJackpotProgDisplay_Last5 where JackpotFillDate in (select top 1 JackpotFillDate from usr_GoldenJackpotProgDisplay_Last5) SELECT @dn2 = Denominationtxt from usr_GoldenJackpotProgDisplay_Last5 where JackpotFillDate in (select top 1 JackpotFillDate from usr_GoldenJackpotProgDisplay_Last5) SELECT @amt2 = replace( convert(varchar(20), Amounttxt, 1) ,'.00', '') from usr_GoldenJackpotProgDisplay_Last5 where JackpotFillDate in (select top 1 JackpotFillDate from usr_GoldenJackpotProgDisplay_Last5) DELETE FROM usr_GoldenJackpotProgDisplay_Last5 WHERE DisplayDatetxt = @d2 and SlotNumbertxt = @n2 and Denominationtxt = @dn2 and Amounttxt = convert(money, @amt2) SELECT @d3 = DisplayDatetxt from usr_GoldenJackpotProgDisplay_Last5 where JackpotFillDate in (select top 1 JackpotFillDate from usr_GoldenJackpotProgDisplay_Last5) SELECT @n3 = SlotNumbertxt from usr_GoldenJackpotProgDisplay_Last5 where JackpotFillDate in (select top 1 JackpotFillDate from usr_GoldenJackpotProgDisplay_Last5) SELECT @dn3 = Denominationtxt from usr_GoldenJackpotProgDisplay_Last5 where JackpotFillDate in (select top 1 JackpotFillDate from usr_GoldenJackpotProgDisplay_Last5) SELECT @amt3 = replace( convert(varchar(20), Amounttxt, 1) ,'.00', '') from usr_GoldenJackpotProgDisplay_Last5 where JackpotFillDate in (select top 1 JackpotFillDate from usr_GoldenJackpotProgDisplay_Last5) DELETE FROM usr_GoldenJackpotProgDisplay_Last5 WHERE DisplayDatetxt = @d3 and SlotNumbertxt = @n3 and Denominationtxt = @dn3 and Amounttxt = convert(money, @amt3) SELECT @d4 = DisplayDatetxt from usr_GoldenJackpotProgDisplay_Last5 where JackpotFillDate in (select top 1 JackpotFillDate from usr_GoldenJackpotProgDisplay_Last5) SELECT @n4 = SlotNumbertxt from usr_GoldenJackpotProgDisplay_Last5 where JackpotFillDate in (select top 1 JackpotFillDate from usr_GoldenJackpotProgDisplay_Last5) SELECT @dn4 = Denominationtxt from usr_GoldenJackpotProgDisplay_Last5 where JackpotFillDate in (select top 1 JackpotFillDate from usr_GoldenJackpotProgDisplay_Last5) SELECT @amt4 = replace( convert(varchar(20), Amounttxt, 1) ,'.00', '') from usr_GoldenJackpotProgDisplay_Last5 where JackpotFillDate in (select top 1 JackpotFillDate from usr_GoldenJackpotProgDisplay_Last5) DELETE FROM usr_GoldenJackpotProgDisplay_Last5 WHERE DisplayDatetxt = @d4 and SlotNumbertxt = @n4 and Denominationtxt = @dn4 and Amounttxt = convert(money, @amt4) SELECT @d5 = DisplayDatetxt from usr_GoldenJackpotProgDisplay_Last5 where JackpotFillDate in (select top 1 JackpotFillDate from usr_GoldenJackpotProgDisplay_Last5) SELECT @n5 = SlotNumbertxt from usr_GoldenJackpotProgDisplay_Last5 where JackpotFillDate in (select top 1 JackpotFillDate from usr_GoldenJackpotProgDisplay_Last5) SELECT @dn5 = Denominationtxt from usr_GoldenJackpotProgDisplay_Last5 where JackpotFillDate in (select top 1 JackpotFillDate from usr_GoldenJackpotProgDisplay_Last5) SELECT @amt5 = replace( convert(varchar(20), Amounttxt, 1) ,'.00', '') from usr_GoldenJackpotProgDisplay_Last5 where JackpotFillDate in (select top 1 JackpotFillDate from usr_GoldenJackpotProgDisplay_Last5) DELETE FROM usr_GoldenJackpotProgDisplay_Last5 WHERE DisplayDatetxt = @d5 and SlotNumbertxt = @n5 and Denominationtxt = @dn5 and Amounttxt = convert(money, @amt5) SET @Output = '&lastdaytxt=' + @lastdaytxt + '&firstdaytxt=' + @firstdaytxt + '&progressive=' + isnull(@progressivetxt,'0') + '&progressions=' + isnull(@progressionstxt,'0') + '&d1=' + isnull(@d1,'') + '&n1=' + isnull(@n1,'') + '&dn1=' + isnull(@dn1,'') + '&amt1=' + isnull(@amt1,'') + '&d2=' + isnull(@d2,'') + '&n2=' + isnull(@n2,'') + '&dn2=' + isnull(@dn2,'') + '&amt2=' + isnull(@amt2,'') + '&d3=' + isnull(@d3,'') + '&n3=' + isnull(@n3,'') + '&dn3=' + isnull(@dn3,'') + '&amt3=' + isnull(@amt3,'') + '&d4=' + isnull(@d4,'') + '&n4=' + isnull(@n4,'') + '&dn4=' + isnull(@dn4,'') + '&amt4=' + isnull(@amt4,'') + '&d5=' + isnull(@d5,'') + '&n5=' + isnull(@n5,'') + '&dn5=' + isnull(@dn5,'') + '&amt5=' + isnull(@amt5,'') --print @Output --print @progressivetxt --print @progressionstxt --Create concentrated table of variables for display program if exists (select * from dbo.sysobjects where id = object_id(N'usr_GoldenJackpotProgDisplay_Output') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table gcgmkt.dbo.usr_GoldenJackpotProgDisplay_Output CREATE TABLE gcgmkt.dbo.usr_GoldenJackpotProgDisplay_Output (DisplayVars VARCHAR(3000)) INSERT INTO gcgmkt.dbo.usr_GoldenJackpotProgDisplay_Output (DisplayVars) VALUES (@Output) --run xp_cmdshell to bcp to export winning person info to text SET @bcpCommand = 'bcp "SELECT * FROM gcgmkt.dbo.usr_GoldenJackpotProgDisplay_Output" queryout C:\sqlexporttemp\GoldenJackpotProg\output.txt -S gcgbhmktsql -U sa -P m@rk3t! -c' SET NOCOUNT ON EXEC master..xp_cmdshell @bcpCommand, NO_OUTPUT EXEC master..xp_cmdshell 'cmd /C "C:\sqlexporttemp\GoldenJackpotProg\GJRPRogXsfer.bat"', NO_OUTPUT SET NOCOUNT OFF END GO
Disclaimer:
Golden Casino Group properties ©Golden Gaming Inc. Affiliate and partner materials are property of the respective enterprise.
- Development/Database
- Example Links
- SQL Query & Stored Procedure Development
- Dynamic Data Signage Applications
- Happy Game Family - Static Site
- Keep of Imbarkus - Dynamic Site
- Old Web Site Development