inserting multiple rows with one insert command

后端 未结 5 1599
不思量自难忘°
不思量自难忘° 2020-12-07 02:25

Is it possible to insert more than one row in a table with one insert statement? I know this will happen if I do:

insert into table ( fields ) select values          


        
相关标签:
5条回答
  • 2020-12-07 03:03

    Insert All

    INSERT ALL
       INTO mytable (column1, column2, column3) VALUES ('val1.1', 'val1.2', 'val1.3')
       INTO mytable (column1, column2, column3) VALUES ('val2.1', 'val2.2', 'val2.3')
       INTO mytable (column1, column2, column3) VALUES ('val3.1', 'val3.2', 'val3.3')
    SELECT * FROM dual;
    
    0 讨论(0)
  • 2020-12-07 03:18
    INSERT INTO products (product_no, name, price) VALUES
        (1, 'Cheese', 9.99),
        (2, 'Bread', 1.99),
        (3, 'Milk', 2.99);
    
    0 讨论(0)
  • 2020-12-07 03:19

    Two solutions (source : http://appsfr.free.fr/spip.php?article21 ):

    INSERT ALL
    INTO table (column1, column2)
    VALUES (value1, value2)
    INTO table (column1, column2)
    VALUES (value1, value2)
    ...etc...
    SELECT * FROM DUAL ;
    

    or

    INSERT INTO table (column1, column2)
    SELECT value1, value2 FROM DUAL UNION ALL
    SELECT value1, value2 FROM DUAL UNION ALL
    ...etc...
    SELECT value1, value2 FROM DUAL ;
    
    0 讨论(0)
  • 2020-12-07 03:19
    INSERT INTO College (CustomerID, FirstName, MiddleName, LastName)
    
    SELECT 7, N'Charles', N'Simmons', N'Burns'
    UNION ALL
    SELECT 9, N'Dominic', N'Fred', N'Einsten'
    UNION ALL
    SELECT 12, N'Dave', N'William, N'Bryan';
    

    NOTE: Letter N before each hard coded string value converts string to an NVARCHAR value to match the datatype of the column.

    0 讨论(0)
  • 2020-12-07 03:23

    No, this is not possible. As you already stated yourself, it is only possible with a select clause providing the insert values and rows.

    0 讨论(0)
提交回复
热议问题