Magic Numbers: Lessons Learned
June 29, 2010 Leave a comment
Magic numbers will kill you. I set up a stored procedure many years ago that included the following TSQL syntax:
HAVING (((tblMeet.SeasonID)=5) AND ((tblMeet.UseForPR)=1) AND ((tblMeet.IsCurrent)=0))
I remembered to change the magic number for a couple of years, but I didn’t change the seasonId at the beginning of this season (now on season 6) so erroneous results were generated (and some kids almost didn’t get a PR ribbon, which would suck). I changed the syntax to this:
Declare @seasonId int
Set @SeasonId = (
Select seasonId from tblSeason
where SeasonDesc = Convert(varchar,YEAR(Getdate())))
and later on:
HAVING (((tblMeet.SeasonID)=@seasonId) AND ((tblMeet.UseForPR)=1) AND ((tblMeet.IsCurrent)=0))
And now I don’t have to remember this change next year. Dear Jamie2011, you are welcome….
BTW: how cool is the intellisense in SQLServer 2008 Management Studio? Awesome Microsoft. Awesome.