免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3695 | 回复: 4
打印 上一主题 下一主题

重複數據的處理 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-09-20 10:34 |只看该作者 |倒序浏览
借貴寶地一用,愿BZ諒解!

賈兄,我也不知道該怎么說,你就看下面的例子吧。

1.假設rvb_file有重複值唯一索引建立不了
2.unload 出rvb_file的資料:rvb_file.txt,dbschema出結構:rvb_file.sql
3.在資料庫中建一張新表rvb_file_new(結構跟rvb_file.sql一樣,但是在最後加上
alter table rvb_file_new add constraints primary key(唯一索引欄位) 主鍵名

4.執行以下SQL,會生成rvb_file_new_vio和rvb_file_new_dia
start violations for rvb_file_new

5.set constraints rvb_cons(主鍵名) filtering

6.load from rvb_file.txt delimiter "|" insert into rvb_file_new

7.stop violations table for rvb_file_new

8.rename rvb_file_new to rvb_file即可
9.刪除主鍵

论坛徽章:
0
2 [报告]
发表于 2010-09-29 15:30 |只看该作者
如果楼主使用informix数据库,可以使用dbload命令去导入数据。
具体操作步骤:
  1.unload表中所有数据至xxx.unl文件
   2.重新建立表格
  3.建立唯一索引
  4.使用dbload命令去导入数据库,dbload命令会自动过滤重复值的数据,

论坛徽章:
0
3 [报告]
发表于 2010-09-29 17:05 |只看该作者
回复 2# koolkite


    恩,學習了,謝謝!
   有機會驗證下。

论坛徽章:
0
4 [报告]
发表于 2010-10-11 20:11 |只看该作者
如果是unix系统,也可以用:
1、unload to a.txt select * from table;
2、sort a.txt | uniq > b.txt
3、load from b.txt insert into table;

论坛徽章:
0
5 [报告]
发表于 2010-10-15 15:27 |只看该作者
回复 4# happer_xc


   2、sort a.txt | uniq > b.txt  

这个似乎有点问题吧?

1 2 3 4 5 6
1 2 3 7 8 9

123所在栏位为唯一索引,但是uniq却无法去掉的,还是有问题的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP