Scott on Writing

Musings on technical writing...

New T-SQL 2008 Syntax

If you are using Microsoft SQL Server 2008 there are some cool new additions to the T-SQL syntax that can help save you a few keystrokes. For example, with T-SQL 2008 you can now (finally) assign a value to a variable when it is declared, like so:

DECLARE @ThisIsLikeSo int = 1984

Rather than having to put the declaration and assignment on two separate lines.

T-SQL 2008 now includes the standard shorthand operators that have been standard in C++/Java/C# and were added to VB several years ago, things like +=, *=, -=, and so on.

But the neatest new T-SQL syntax is row constructors, which provides a terse syntax for declaring a set of records and are not unlike object initializers in higher-level languages. Want to insert four records into a table? In the past you'd have to write four separate INSERT statements, but with row constructors you can write one INSERT statement with four row constructors in the VALUES part:

-- Add four records to the Employees table 
INSERT INTO Employees(Name, Email, Salary) 
VALUES('Scott',
'scott@example.com', 50000.00),  
      ('Jisun',
'jisun@example.com', 225000.00),  
      ('Alice',
'al@example.com', 75000.00),  
      ('Sam',
'sam@example.com', 45000.00) 

My latest monthly tip at DotNetSlackers.com summarizes the new T-SQL 2008 features that will help you write more terse stored procedures, UDFs, and ad-hoc scripts: More Concise T-SQL with SQL Server 2008.

posted on Tuesday, February 03, 2009 7:40 AM

Feedback

# re: New T-SQL 2008 Syntax 2/3/2009 5:10 PM James

Is there any performance gains from using row constructors in an INSERT statement over making multiple INSERT calls?

# Dew Drop - February 4, 2009 | Alvin Ashcraft's Morning Dew 2/4/2009 8:00 AM Pingback/TrackBack

Dew Drop - February 4, 2009 | Alvin Ashcraft's Morning Dew

# re: New T-SQL 2008 Syntax 2/12/2009 4:07 PM ahmed farag

y are ammazing scott thanks

# linkfeedr » Blog Archive » New T-SQL 2008 Syntax - RSS Indexer (beta) 4/17/2009 8:41 PM Pingback/TrackBack

linkfeedr » Blog Archive » New T-SQL 2008 Syntax - RSS Indexer (beta)

Title:  
Name:  
Url:
Protected by Clearscreen.SharpHIPEnter the code you see:
Comments   

My Links

Ads Via DevMavens

Archives

Post Categories

 

I am a Microsoft MVP for ASP.NET.
I am an ASPInsider.
<March 2010>
SMTWTFS
28123456
78910111213
14151617181920
21222324252627
28293031123
45678910

Comment Stats

DayTotal% of Total
Sunday 2056.8%
Monday 42514.1%
Tuesday 51917.2%
Wednesday 55618.4%
Thursday 58019.2%
Friday 54718.1%
Saturday 1886.2%
Total 3020100.0%

Hour1Total% of Total
12:00 AM 782.6%
1:00 AM 812.7%
2:00 AM 682.3%
3:00 AM 822.7%
4:00 AM 692.3%
5:00 AM 1264.2%
6:00 AM 1193.9%
7:00 AM 1816.0%
8:00 AM 1926.4%
9:00 AM 1585.2%
10:00 AM 1886.2%
11:00 AM 1936.4%
12:00 PM 2016.7%
1:00 PM 1846.1%
2:00 PM 1695.6%
3:00 PM 1354.5%
4:00 PM 1153.8%
5:00 PM 1073.5%
6:00 PM 1013.3%
7:00 PM 1073.5%
8:00 PM 923.0%
9:00 PM 882.9%
10:00 PM 913.0%
11:00 PM 953.1%
Total 3020100.0%

Comments by Blog Entry Date/Time

Day Entry MadeAvg.Total
Sunday 5.00160
Monday 4.80384
Tuesday 4.04477
Wednesday 7.39680
Thursday 6.26676
Friday 5.07466
Saturday 4.78177
Total 5.403020

Hour1 Entry MadeAvg.Total
12:00 AM 5.2937
1:00 AM 1.002
5:00 AM 0.000
7:00 AM 3.8550
8:00 AM 3.72134
9:00 AM 6.06297
10:00 AM 5.63276
11:00 AM 4.22194
12:00 PM 6.16351
1:00 PM 3.09133
2:00 PM 4.89230
3:00 PM 7.67322
4:00 PM 4.00108
5:00 PM 6.07170
6:00 PM 4.64116
7:00 PM 8.95188
8:00 PM 8.63164
9:00 PM 5.00115
10:00 PM 6.31101
11:00 PM 4.5732
Total 5.403020

Learn More About Comment Stats
1 - All times GMT -8...


Blog Stats

Favorite Web Sites

My Books

My MSDN Articles