分类: Sybase
2008-04-11 20:25:31
来源:赛迪网 作者:yashi |
目前的需求:数据库中有存在一张表A,表A有四列c1 c2 c3 c4;要将A中所有记录的c1,c2,c3三个字段,按照c1 c2排序后导出到数据文件中。
具体的分析:由于sybase中bcp后不能加sql语句,所以不能用bcp out select c1,c2,c4 from a order by c1,c2的方法来做。
解决方法:
1.更改表A的锁定类型locking scheme为allpages
2.在表A的c1 c2列上创建聚簇索引
3.创建视图只包含A的c1 c2 c3列
4.bcp导出视图
总结:
1.使用聚簇索引来强制限定A表中的记录的物理顺序。
2.使用视图来选取需要导出的那些字段。
3.BCP OUT视图其实就是按照表中记录的物理顺序导出数据。 |