创建具有复制列名的表,键入然后插入记录

时间:2014-07-11 10:37:52

标签: c# sql sqlite

Database :: .db(SQLite);代码语言:: C#

我想创建一个临时表,然后将值插入到

目前我正在插入如下记录

create table temp1 AS Select A1, A2 from TableA

当前问题::

TableA中有超过10亿条记录(或可能更多) 因为该代码正在使系统outofMemoryExeception。

我的想法

  1. 创建表
  2. 插入记录(每次5000 - 最后完成)
  3. 我认为,

    1. 仅使用列名(A1)创建表,它的数据类型(整数),列名(A2)及其数据类型(CHAR(3))(我只传递SELECT A1, A2 from TABLEA

    2. 在一个循环中INSERT记录:: 5000。 (我不知道如何限制这个?)

    3. 我的意思是 然后选择前5000条记录 然后选择5001到10000条记录 选择10001到15000条记录 ... ...

      我知道......

      SELECT A1, A2 from TABLEA limit 5000(这将获得前5000条记录,但之后如何记录?)

      还有其他逻辑可以满足我的要求吗?

      SELECT INTO不支持SQLite

1 个答案:

答案 0 :(得分:0)

你可以使用

SELECT A1, A2 from TABLEA limit 0,5000 //for first 5000 rows
SELECT A1, A2 from TABLEA limit 5000,10000 //for Next 5000 rows