免费注册 查看新帖 |

Chinaunix

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

请教一个load表的问题. [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-06-26 10:17 |只看该作者 |倒序浏览
我用informix比较熟练,最近在学sybase,
我发现sybase中好象没有load命令。
我想unload出表中的数据:
isql -U sa =P passwd -o "/usr/xxx.txt" <<EOF
use db
go
select * from table where con1
go
exit
EOF

这样unload出来的数据能用bcp装入表中吗?
如果不行,应该怎么弄呢?
bcp在导入,导出数据能带条件吗?
请大侠们帮忙!

论坛徽章:
0
2 [报告]
发表于 2006-06-26 14:07 |只看该作者

回复 1楼 winamp 的帖子

bcp out
bcp in

论坛徽章:
0
3 [报告]
发表于 2006-06-27 15:10 |只看该作者
有load命令吧,不过是用于导整个库的,导表要用bcp吧。
load database DBName
go
也可以用于倒入日志的吧~不过没做过

论坛徽章:
0
4 [报告]
发表于 2006-06-28 08:43 |只看该作者
你要是DB2较熟的法,咱们可以加个QQ好友。

论坛徽章:
0
5 [报告]
发表于 2006-06-28 13:54 |只看该作者
用bcp的话,没有办法设定条件。
我看了论坛的精华版,找到两个办法。
不过都有缺陷。
1。select * into temptable from table where condition
   bcp database..temptable out temptable.bcp
这种办法需要占用数据库空间,我的数据库空间本来就不大,所以。。。
2。第二种办法:
   是用isql 和select 将表中满足条件的记录直接输出来。
   不过这样的话,能不能在装入数据库就是问题了。(主要是我的表很大.)

其实我就是想把一张明细表清理一下,把04年05年的数据备份出来(当然要保证能再装回去)
然后就把数据清理掉。

在informix中只需要:
unload to table.txt select * from table where condition;
以后再装的时候只需要:
load from table.txt insert into table;

在sybase中就遇到了问题.不知道有没有办法解决.谢谢大侠们帮忙!

[ 本帖最后由 winamp 于 2006-6-28 13:59 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2006-06-28 15:19 |只看该作者
如何使得select出来的数据格式符合bcp in 的格式?

论坛徽章:
1
操作系统版块每日发帖之星
日期:2016-06-20 06:20:00
7 [报告]
发表于 2006-06-29 09:05 |只看该作者
你没有仔细看吧,bcp可以使用view的,看看这个精华:
http://bbs.chinaunix.net/viewthr ... ighlight=zhangyh123
用view把你04年05年的数据选出
bcp view out形成bcp文件
清空你的原表(可以备一下)
把bcp文件bcp in原表

论坛徽章:
0
8 [报告]
发表于 2006-07-03 11:20 |只看该作者
非常感谢你的帮助!
问一个弱的问题,生成的view应该不会占用很多数据库空间吧?

论坛徽章:
1
操作系统版块每日发帖之星
日期:2016-06-20 06:20:00
9 [报告]
发表于 2006-07-03 12:44 |只看该作者
view不占用
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP