New INSERT syntax in SQL Server 2008

Published On: 2008-04-03By:

One of the very cool new feature which SQL Server 2008 gives us is an change to the INSERT statement.  Now you can specify multiple rows to insert into a table from a single insert command.

The syntax is:
CREATE TABLE TableName (Column1 INT, Column2 VARCHAR(10))
INSERT INTO TableName
(Column1, Column2)
VALUES
(1, 'test1'), (2, 'test2'), (3, 'test4')

I see this as being a very handy especially when doing an initial data load into a table as you can now load lots of data without having to run a lot of seperate insert statements.

Denny


Contact the Author | Contact DCAC

One response to “New INSERT syntax in SQL Server 2008”

  1. Jan.novak says:

    Hi Denny and all.

    It is good to hear, that this option is also available in SQL server 2008.

    I am not expert, but I think this syntax will cause overhead if you insert many records. Maybe is better choice:
    INSERT INTO …
    (col1, col2,…)
    SELECT …
    FROM …
    UNION ALL
    SELECT …
    FROM …

Video

Globally Recognized Expertise

As Microsoft MVP’s and Partners as well as VMware experts, we are summoned by companies all over the world to fine-tune and problem-solve the most difficult architecture, infrastructure and network challenges.

And sometimes we’re asked to share what we did, at events like Microsoft’s PASS Summit 2015.

Awards & Certifications

Microsoft Partner    Microsoft MVP    Microsoft Certified Master    VMWare Partner    VMWare vExpert
   Best Full-Service Cloud Technology Consulting Company    Insights Sccess Award    Technology Headlines Award    Golden Bridge Gold Award    CIO Review Top 20 Azure Solutions Providers
Share via