The PIVOT keyword in Microsoft SQL Server is a godsend when you need to manipulate row values into their own columns. Unfortunately, to use this PIVOT keyword, you need to supply all of the possible values that you would like
Using a Custom IDataReader to Stream Data Into a Database
In a previous post, I discussed how to use the SqlBulkCopy class along with a SqlDataReader to quickly stream data from one database to another. The reason that you can use a SqlDataReader as a parameter in the WriteToServer method
Streaming Data Between Databases using SqlBulkCopy and SqlDataReader
One little known fact about SqlBulkCopy is that not only can the WriteToServer method use a DataTable, but it can also use any object that implements IDataReader. Since the SqlDataReader object implements the IDataReader interface, it is a perfect candidate
Recursive Queries Using CTEs
I previously explained the basics of common table expressions (CTEs) as well as how to chain them in sequence when you need multiple temporary result sets to get the results you desire. One of the topics I have not covered
Determining Database Size in Microsoft SQL Server
We’ve all experienced a database administrator coming up to us and questioning why a SQL Server database is consuming so much disk space. If you’re like me, you would immediately run the sp_helpdb stored procedure to see if the log
Multiple CTEs in Sequence
In a previous post, I discussed how to use common table expressions to generate temporary result sets that can read from and written to. In this post, I’ll show how to use two CTEs together for more complex scenarios. To
Intro to Common Table Expressions
Common table expressions (CTEs) are a powerful feature that was added to Microsoft SQL Server 2005. Common table expressions can be thought of as a temporary result set that can be used with one single SELECT, INSERT, UPDATE, or DELETE