For Your Eyes Only
I’ve been keeping a mental list of things of things I often have to adjust or fix in stored procedures I work on.
Some of them are a touch pedantic, but the majority of them are lessons and practices I’ve learned (often the hard way) over the years while working on things:
- Performance tuning
- Building processes
- Fixing issues and errors
The thing is, I see the same mistakes over and over again. You probably do too, but you may not know they’re mistakes.
Judging by the code I see, most developers out there don’t.
No offense, it’s just… if all you do is begin a transaction and then try to commit it at the end, with no thought given to error handling or rolling back, what is the point of you?
If you do this, go ahead and tell me why in the comments. I’d love to know.
Anyway.
Table Of Contents
Here’s what I’ll be talking about over the next month or so.
- ANSI/SET options
- Commenting
- Formatting
- Error Handling
- Debugging
- Batching Modifications
- Transactions
- Isolation Levels
- Locking Hints
- Parameter data types
- Table valued parameters/Passing lists
- Conditional logic
- Local variables
- Wrapper stored procedures
- Dynamic sql
- Temporary objects
- Parameter sniffing
- Dynamic searches
- Pagination
- Cursors and Loops
The list might change a little, but it’s the basic outline of what I care to talk about.
Some posts might be shorter than others, because there’s not a lot to say about certain things beyond “this is right, and this is why”.
Hopefully these lessons start to sink in.
Thanks for reading!
Going Further
If this is the kind of SQL Server stuff you love learning about, you’ll love my training. I’m offering a 75% discount to my blog readers if you click from here. I’m also available for consulting if you just don’t have time for that, and need to solve database performance problems quickly. You can also get a quick, low cost health check with no phone time required.
I’ve done that, until I read https://sommarskog.se/error_handling/Part1.html
If you can improve that text, I’ll be most impressed.
Except one thing, where I do not follow Erland.
I write Rollback, not Rollback Transaction.
Then I do not have to write “;throw”, unless I want to signal that I’ve read somebody Swedish’s homepage.
Love the theme and looking forward to reading the content 🙂