Link to home
Start Free TrialLog in
Avatar of singsunn
singsunn

asked on

multiple inserts in one query or procedure

is there a way to do a multiple insert to a table in sql
ASKER CERTIFIED SOLUTION
Avatar of Paul MacDonald
Paul MacDonald
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of singsunn
singsunn

ASKER

into multiple rows with one common criteria.
USE YourDB
GO
INSERT INTO MyTable (FirstCol, SecondCol)
SELECT 'First' ,1
UNION ALL
SELECT 'Second' ,2
UNION ALL
SELECT 'Third' ,3
UNION ALL
SELECT 'Fourth' ,4
UNION ALL
SELECT 'Fifth' ,5
GO

Open in new window

or
 INSERT INTO [t]
        (
          [camp1],
          [camp2],
          [camp3]
        )
 VALUES ( 1, 2, 3 ),
        ( 3, 4, 5 ),
        ( 6, 7, 8 ),
        ( 9, 10, 11 ),
        ( 12, 13, 14 )

Open in new window

Does...
     INSERT INTO TableName (Column1, Column2) VALUES (Value1, Value2) WHERE Criteria=Value
...not work?
values to be inserted are read from an xml file, so i don't know how many set of values there going to be.
do i need dynamic sql query or is it possible to do this in stored procedure?
I think you'd have to build the query dynamically.  You might be able to do this with a stored proc, but I'm not sure.
read this

http://blog.sqlauthority.com/2009/02/13/sql-server-simple-example-of-reading-xml-file-using-t-sql/

and use the
INSERT INTO TableX
select  field1,field2
FROM OPENXML ('Your parameters' )

Open in new window

Nice.  Didn't know about that...
>>values to be inserted are read from an xml file, so i don't know how many set of values there going to be. <<
Instead of hypotheicals, why don't you post the schema (CREATE TABLE) to your table, a sample Xml file and how they are mapped (if it is not obvious) and we can give you a complete example using either OPENXML() if you are still using SQL Server 2000 compatibility or the newer Xml Data Type Methods if you are using SQL Server 2005 or greater.
none