请问SQLSERVER中如何批量插入数据呢?

解决方案 »

  1.   

    批量插入數據,可用SqlBulkCopy      
            SqlBulkCopy       bulkCopy       =       null;  
            Database       database       =       DatabaseFactory.CreateDatabase();  
            using       (SqlConnection       destConn       =       (database.CreateConnection()       as       SqlConnection))  
            {  
                        destConn.Open();  
                        bulkCopy       =       new       SqlBulkCopy(destConn);  
                        bulkCopy.BulkCopyTimeout       =       360;  
                        bulkCopy.DestinationTableName       =       "destTableName ";                      //       創建相同的表結構(與數據庫中相同),並且添加數據至該變量  
                        DataTable       dataTable       =       new       DataTable();  
                        DataColumn       col0       =       dataTable.Columns.Add( "DetailId ",       typeof(System.Guid));  
                        col0.AllowDBNull       =       false;  
                        ...  
                        //       設定影射  
                        bulkCopy.ColumnMappings.Add( "DetailId ",       "DetailId ");  
                        ...                      
                        //       添加數據至該變量  
                        for()  
                        {  
                                        ...  
                                        dataTable.Rows.Add(row);  
                            }                      //       send       the       data       to       the       server  
                        bulkCopy.WriteToServer(dataTable);  
                        ...
    }
      

  2.   

    看你想怎么插啊
    如果光是组装SQL插入语句StringBuilder sbr = new StringBuilder();
    for(...)
    {
     sbr.Append("INSERT INTO 表(UserID) VALUES ('" + UserID+ "');");
    }
    这样也可以批量插啊
      

  3.   

    多个insert语句
    insert into a (...) values (...)  insert into b (...) values (...)  insert into c (...) values (...)
      

  4.   

    declare @temp int 
    set @temp = 0 
    while @temp <1000000000
    begin
    insert into ..........
    set @temp = @temp +1
    end