选择某些数据并插入它们

时间:2014-01-16 08:37:32

标签: c# winforms sql-server-2008 postgresql

我在SQL Server 2008中有一个数据库,在Postgres中有另一个类似的数据库。我打算使用C#开发一个Windows应用程序,它将从TableA的SQL Server中选择100行数据并插入Postgres中的TableA。我想继续这个过程,直到插入表A的所有数据。

我可以使用此查询一次选择100行。

SELECT TOP 100 * FROM TableA;

但是如何循环直到插入所有数据?

2 个答案:

答案 0 :(得分:0)

for(int i = 0;i < row_Count;i=i+100)
{
string s = "SELECT * FROM TableA where index BETWEEN " + (i+1).ToString + "AND" + (i+100).ToSTring;
// use "s" as your query
}

这里假设您的表已编入索引并从1开始。

我不确定这会不会有效,但它可能会让你有一些想法来解决你的问题。

答案 1 :(得分:0)

而不是循环选择查询尝试使用DataReader使用ResultSet流。 DataReader提供无缓冲的数据流,允许程序逻辑按顺序有效地处理来自数据源的结果。在检索大量数据时,DataReader是一个不错的选择,因为数据没有缓存在内存中