如何在Sybase中利用分区生成视图

如何在Sybase中利用分区生成视图,sybase,sap-ase,Sybase,Sap Ase,我使用的是Sybase 12.5.3,表中有1200万行,没有任何identity/id列。我想将表中的数据并行bcp输出到12个不同的文件中 发现只有在表上创建视图,然后并行运行bcp时才能执行此操作(参考:-2012年2月问题) 我的表也有分区,我只有分区ID(不是分区名称) 有没有什么方法可以让我使用分区或使用sybase中Oracle的rownum的对应项来创建12个100万行的不同视图 我们将非常感谢您的帮助 到bcp在分区之外,您可以引用分区名称或分区号 bcp mydb..bi

我使用的是Sybase 12.5.3,表中有1200万行,没有任何identity/id列。我想将表中的数据并行bcp输出到12个不同的文件中

  • 发现只有在表上创建视图,然后并行运行bcp时才能执行此操作(参考:-2012年2月问题)
  • 我的表也有分区,我只有分区ID(不是分区名称)
  • 有没有什么方法可以让我使用分区或使用sybase中Oracle的rownum的对应项来创建12个100万行的不同视图

我们将非常感谢您的帮助

bcp
在分区之外,您可以引用分区名称或分区号

bcp mydb..bigtable:1 out file1 -Pmypassword -c &
bcp mydb..bigtable:2 out file2 -Pmypassword -c &
这将从
bigtable

尽管有很多文档,但用于导出的systax通常非常接近

或者,可以基于表中的值创建视图。假设有一列包含某种范围(或分类)值,可用于划分数据,您可以使用如下方式:

create view mytable_VIEW_1 as
select * from bigtable
where myColumn < someValue1

create view mytable_VIEW_2 as
select * from bigtable
where myColumn between someValue2 and someValue3
创建视图mytable\u视图\u 1作为
从bigtable中选择*
其中myColumn

一旦创建了视图,您就可以轻松地从中导出
bcp

有什么原因不想只从分区中导出
bcp
?Sybase中没有对应的
rownum
,因此如果不使用
-F
&
-L
,它将依赖于您的数据中有一些值,您可以将数据分成大约1/12的数据来创建视图。很可能很难精确地获得每个文件100万行。-F和-L选项在并行bcp输出中无法按预期工作。参考资料:-最后一个问题及其答案。另外,我只需要大约100万行,而不是严格意义上的。我不知道如何从partitons中bcp出来,如果有任何方法,请让我知道!嗨,我注意到你还没有接受我的回答。更多信息请参见此处页面:最近几天有点忙!谢谢你的帮助,这为我节省了很多时间!!:)