有表的情况
INSERT INTO 表(val1,val2) SELECT val1,val2 FROM 表
没表的情况
SELECT * into _表 from 表
更新
UPDATE 表 SET UrlId=kd.id
FROM Keywords kd WHERE kd
(2)C#批量导数
采用.NET 2.0中的 SqlBulkCopy ,具体代码
public bool BulkToDB(DataTable dt, Dictionary<string, string> ColumnMappings = null) { SqlBulkCopy bulkCopy = new SqlBulkCopy(LitConn.Conn); bulkCopy.DestinationTableName = dt.TableName; bulkCopy.BatchSize = dt.Rows.Count; if (ColumnMappings != null) foreach (string str in ColumnMappings.Keys) { bulkCopy.ColumnMappings.Add(str, ColumnMappings[str]); } bool IsResult = true; try { LitConn.Open(); if (dt != null && dt.Rows.Count != 0) bulkCopy.WriteToServer(dt); } catch (Exception e) { ErrMsg = e.Message; IsResult = false; } finally { LitConn.Close(); if (bulkCopy != null) bulkCopy.Close(); } return IsResult; }
注意:如果表结果完全一样,不要指定ColumnMappings,否则要一一指定
3,事件
没有采用数据分离, 数据采集和显示,导致网站无法打开, 采集数据读写分离后,写时又因数据录入时业务及事物处理,导致批量录入时超时及录入比较慢