public bool MigrationData(string tablename, string deleteSql, string selectSql, DateTime date) { var par = File.ReadAllText(@"C:\MyFile\abc\par.txt"); var pgconnection = File.ReadAllText(@"C:\MyFile\abc\pgconnection.txt"); var pagesize = 1000; var pageindex = 1; using (var pgcon = new Npgsql.NpgsqlConnection(pgconnection)) { pgcon.Execute(deleteSql, new { orgshortname = par, date }); } while (true) { var list = GetList(tablename, selectSql, date, pagesize, pageindex); if (list.Count == 0) { break; } var insertSql = new GenerPgSql().GenerySql(pgconnection, list, tablename); using (var pgcon = new Npgsql.NpgsqlConnection(pgconnection)) { pgcon.Execute(insertSql); } pageindex++; } return(true); }
static void Main(string[] args) { var tablename = ""; var sqlconnection = "连接字符串"; using (var sqlcon = new SqlConnection(sqlconnection)) { var watch = new Stopwatch(); watch.Start(); var pagesize = 1000; var pageindex = 1; while (true) { var s = "select ROW_NUMBER() OVER (ORDER BY 主键) as rowno,* from " + tablename; var sql = $@"SELECT TOP {pagesize} * FROM ({s})querytable WHERE rowno > {(pageindex - 1) * pagesize} "; var list = sqlcon.Query <dynamic>(sql, new { orgshortname = "nss" }).ToList(); if (list.Count == 0) { break; } var insertSql = new GenerPgSql().GenerySql(list, tablename); var pgconnection = "pg连接字符串"; using (var pgcon = new Npgsql.NpgsqlConnection(pgconnection)) { pgcon.Execute(insertSql, list); } Console.WriteLine(pageindex); pageindex++; } Console.WriteLine("制造数据总共花费{0}ms.", watch.Elapsed.TotalMilliseconds); } }