By Riley Major, 2018-09-14
So you’ve wisely decided to put your business logic in your database, but for whatever reason you can’t use inline user defined functions, even though they encapsulate logic without hurting performance. That’s ok, because you can build functions on the fly in a single statement. Continue reading
By Riley Major, 2018-08-08 | Tic-Tac-Toe Series Part 1 / Part 2 (this article)
If a pile of matchboxes can learn to play Tic-Tac-Toe, then certainly I should be able to code a solution. With my predilection for databases, T-SQL was my tool of choice. But first, I needed to model the game with some sort of data structure. Unfortunately, as I learned, it’s not as simple as mapping some X and O values to a grid.
You might have heard that SQL Server user-defined functions are the devil. That’s because someone got burned. They put a scalar function in a WHERE clause on a big table and fed it a column name. And bad things happened. Continue reading
By Riley Major, 2018-06-29
One of the many uses of tally tables is to blow up some rows. Normally, you make your database reduce rows by joining tables to others and applying criteria. But sometimes you want it to make more rows. Continue reading
By Riley Major, 2018-05-31.
When talking about bitwise math, I needed to show the inverse of a string of ones and zeros. Instead of doing it manually, I wanted to get a computer assist. Since I always have SQL Server Management Studio open, T-SQL is usually the fastest way for me to use some CPU cycles.
By Riley Major, 2018-05-18 | Tic-Tac-Toe Series Part 1 (this article) / Part 2
Known as Noughts and Crosses across the pond, Tic-Tac-Toe is considered a “solved game“– meaning we can predict the outcome of the game assuming perfect play. In fact, Wikipedia says “it is straightforward to write a computer program to play tic-tac-toe perfectly“. Well then as a programmer, I ought to be able to do it.
By Riley Major, 2018-04-10
For this month’s T-SQL Tuesday, Jens Vestergaard asks us to write about our essential SQL Server tools.
I must admit that Microsoft SQL Server Management Studio (SSMS) is where I spend most of my development time. I haven’t tried the cool kids’ new SQL Operations Studio. And I haven’t spent much time with SQL Server Data Tools. But Microsoft has come a long way from Enterprise Manager and Query Analyzer and honestly from a feature perspective, SSMS is fine.
By Riley Major, 2018-03-13
These days, most business logic is still built by subject matter experts. Humans explore their habits and instincts and try to come up with a process which business analysts turn into an algorithm which developers turn into code. That’s expensive, time consuming, and is all based on the presumption that computers need to be told what to do.
For the 99th T-SQL Tuesday (that’s over 8 years of blog parties), Aaron Bertrand invites us to write about our #sqlibirum (credit to Drew Furgiuele and Melissa for the term)– our passions outside of SQL Server and technical community.
These days, aside from my family and technology, I’m putting most of my energy into learning more about the privileges I enjoy in society and how to dismantle the systems which provide them. Twitter has exposed me to ideas and realities which I’ve never had to face in the past, and it’s frustrating to learn about how stacked the deck is against so many people. That said, except as those issues intersect with technical communities, I’m not ready for this blog to become overtly political. So I’m going to take Aaron’s escape pod and talk about a T-SQL bad habit.
By Riley Major, 2017-05-09.
For this month’s T-SQL Tuesday, James Anderson asks us to write about Shipping Database Changes.
These days all the rage is continuous deployment. Once development is “complete”, you push a button, (insert automated process here), and boom, the code is in production. I applaud shops which can reach this stage. It requires extreme devotion to automated testing and scripted processes. I haven’t worked with that sort of a system. However, many of the same principles apply to deploying the old fashioned way. Continue reading