March 2, 2010

Why SQL Server isn’t my Forte

I know, you follow my Techno-Twitter feed with eager anticipation.  So when you saw that I was struggling with SQL Server this afternoon and that I’d post why it isn’t my forte, you could hardly keep yourself still until this post dropped…right?  Yeah.

Here’s what SQL Server development is a challenge.  First, of course, the background.  Create a series of views that are drawn from both aggregated tables and on demand calculated ‘stuff’.  It’s that stuff that brings me to my challenge.  First, the good news – I am learning!  But it comes with a steep learning curve.  As a semi developer, I’m not used to this set based thing…so I naturally gravitated to cursors.  I think I can reasonably justify their use, however, so don’t spam me for just that.  What is challenging when working with TSQL is a combination of language constructs and development environment challenges.

1.  Language constructs – simple things like for loops become complex.  Cursors help, but I have to do lots of full blown fetch next statements and when working with a very wide table, agh!  Variables that are declared but then another whole line is taken up to set default values.  There appear to be internal ‘functions’ that I can call like GETDATE() but I’m having a hard time finding out how to get my hands on a complete list of those.  I’m sure the constructs are better than I’m experiencing just now because of my freshness on the language.  Let’s just say – it isn’t C# or VB.Net!

2. Development Environment – I hear that in 2008R2 this gets better, but SQL Server Management Studio is built in part, with the Visual Studio team and by golly I NEED my code complete and intelligence.  Code block formatting and indentations, known typing after declarations, etc – these are all missing in the management studio and add to the challenges of debugging.  The fact that ‘line number’ in the errors when running a command is not always correct (comments through it off apparently) makes it hard to debug.

Anyways, that’s my rant for the day, there’s lots of technology commentary coming, but tonight I am worn out from a day of pretty color coded words!