Chinaunix

标题: 请教一个load表的问题. [打印本页]

作者: winamp    时间: 2006-06-26 10:17
标题: 请教一个load表的问题.
我用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在导入,导出数据能带条件吗?
请大侠们帮忙!
作者: logit99    时间: 2006-06-26 14:07
标题: 回复 1楼 winamp 的帖子
bcp out
bcp in
作者: agui1226    时间: 2006-06-27 15:10
有load命令吧,不过是用于导整个库的,导表要用bcp吧。
load database DBName
go
也可以用于倒入日志的吧~不过没做过
作者: zhhui2000    时间: 2006-06-28 08:43
你要是DB2较熟的法,咱们可以加个QQ好友。
作者: winamp    时间: 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 编辑 ]
作者: winamp    时间: 2006-06-28 15:19
如何使得select出来的数据格式符合bcp in 的格式?
作者: echoaix    时间: 2006-06-29 09:05
你没有仔细看吧,bcp可以使用view的,看看这个精华:
http://bbs.chinaunix.net/viewthr ... ighlight=zhangyh123
用view把你04年05年的数据选出
bcp view out形成bcp文件
清空你的原表(可以备一下)
把bcp文件bcp in原表
作者: winamp    时间: 2006-07-03 11:20
非常感谢你的帮助!
问一个弱的问题,生成的view应该不会占用很多数据库空间吧?
作者: echoaix    时间: 2006-07-03 12:44
view不占用




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2