0

我有一个要求,其中我需要根据一列上的一个条件将具有 50M 记录的大表分解为两个表。我不想使用“insert into table1 select * from table2 where condition = true”语句。

做这个的最好方式是什么?提前致谢。

4

2 回答 2

0

您可以使用 2 个视图来选择要发送到 2 个表的数据。

于 2013-11-13T20:41:22.660 回答
0

由于您不想使用最简单的方法,因此这里有几个使用bcp和视图的选项。

如果只需要新建一张表:

  1. 使用 true 条件语句创建表的视图。
  2. BCP 将数据从该视图中取出,并放入一个新表中。
  3. 从原始表中删除真实的条件记录。

如果需要新建两个表:

  1. 创建具有真实条件的表视图
  2. 创建具有错误条件的表视图
  3. BCP 将数据从两个视图中取出,并放入新表中
于 2013-11-13T20:43:48.873 回答