Posts Tagged SQL Server

Dynamic PIVOT With Microsoft SQL Server

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 to PIVOT into columns in the query. What if there you do not know the [...]

No Comments

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 of SqlBulkCopy is because it implements the IDataReader interface.  The great thing about this, is [...]

,

No Comments

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 for use with a SqlBulkCopy object.  One instance where I found this extremely useful, is [...]

, ,

1 Comment

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 yet is using CTEs to write recursive queries. The classic example of using a recursive [...]

,

No Comments

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 file has grown out of control: EXEC sp_helpdb 'AdventureWorks' The output of the sp_helpdb shown [...]

No Comments

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 illustrate how to use CTEs this way, we’ll code up a simple example using the [...]

,

1 Comment

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 statement. The basic syntax for a CTE is the following: WITH <cte_name> (column1, column2, column3, [...]

,

2 Comments