-
The goal of naming standards
Read more: The goal of naming standardsI am starting a new, huge project soon, using some different tools than I have used before. So the first thing we need to do in this project is to come up with new standards for these new tools, right? No. Understanding the overall scope and desired results, requirements are first, then a high-level design…
-
Creating data from literal values in SQL Server
Read more: Creating data from literal values in SQL ServerNote: This is a post from the past being updated. The original post is here: 2008: Initializing Table Data with Row Constructors.. The code used here is the code I reference in this post on Redgate’s Product learning site: SQL Prompt AI Versus Smart Quotes, since the original post is rife with smart quotes! Row…
-
Speaking at DataTune 2026
Read more: Speaking at DataTune 2026Coming up on March 6 and 7, 2026, is a conference that I missed the inaugural event, even though I was in the city it is located in, and not even working that weekend: DataTune. When the first event occurred, I was sitting in a rehab center, just a few weeks out from hip replacement.…
-
Idle hands…can be great learning tools
Read more: Idle hands…can be great learning toolsSo we all know the old phrase about idle hands being the devil’s playthings. They are not wrong. Who hasn’t done some really stupid things when they were bored, as people younger than you are now (and I mean up to and including yesterday. But idle hands can also be your gateway to learning. I…
-
A SQL method for computing rolling totals without window functions
Read more: A SQL method for computing rolling totals without window functionsSay you want to find the most recent 30-day period during which a person purchased some amount of products from your company. How you market to a customer might change if they have been active over a time period recently, or even in the past. But this also means that for each day going back…
-
The slop in this post is all mine
Read more: The slop in this post is all mineI am weirdly tired of the phrase “AI Slop.” Not because AI is so great and does everything wonderful. Not at all. The problem is blaming a tool for the output a person has signed their name to. I prefer “slop created with AI” because the problem is not the AI. Did we ever blame…
-
OK, SELECT * doesn’t belong in EXISTS either
Read more: OK, SELECT * doesn’t belong in EXISTS eitherA few weeks ago, I wrote this post “This post is not only about SELECT *”. It was primarily about the various reasons to avoid using SELECT * in your reusable code, but it was also about being careful when you teach people things to lean a lot harder on principles that are always true.…
-
T-SQL Tuesday #195 – How has your code aged
Read more: T-SQL Tuesday #195 – How has your code agedMany thanks to Pat Wright for this question that makes us all think about the trail of code we have left behind us during our years as programmers/admin/data analysts. Hmm, that may have come off as sarcasm, but considering I hosted last month and asked people to talk about mistakes they have made, I have…
-
Generating a set of sequential numbers, part 2
Read more: Generating a set of sequential numbers, part 2When I wrote the blog from last week (Performance test of generating a set of sequential numbers), I was mostly wanting to see how well I could do this using a recursive CTE. I wondered how terribly they might be. Turns out, they are terrible compared to other methods, but they also aren’t nearly as…


