我有两张表a和b,表结构不一样,两张表的索引都是id,并且a.id和b.id可以连接。现在需要查询出表a中a.id=b.id的所有数据,将这部分数据保留,然后把表a的数据全部清掉,导入保留的数据,a的数据量大概是一千多万,b的数据量最多几百万。我想将表a需要的数据导成dmp文件,然后再将dmp文件导到表a中,请问具体的操作步骤要怎么写?(用户名/口令假设为user/passwd)
解决方案 »
- 用很多个id查一张表,要 显示id对应的数据
- 这个问题,所有程序员都要注意了!!
- oracle截取查询字段
- 如何写一个存储过程,表名是动态的!
- 求助UPDATE问题
- oracle用户的密码带有"@"字符,exp 语句怎么写号?
- 求教:用脚本手动创建一个数据库后,如何自动添加该数据库到监听服务中?
- oracle与sqlserver如何建立连接?…………
- 建议csdn增加一个功能,就是在发帖的时候让发帖者设定预计结帖日期,让结帖者承诺在什么时候结帖,到期不结帖者就扣除此人的信誉分。跟贴
- oracle PL/Sql查询---获取迟到、早退时间
- 执行存储过程出现ORA-00900:invalid SQL statement
- 求一条SQL语句
create table c as select * from a where exisits(select 1 from b where a.id=b.id);然后truncate table a;然后insert into a select * from c;不需要导出导入了吧
如果怕慢,可以考虑并行
imp name/pwd@test file=d:\a.dump tables=(table1);如果表存在的情况下导入,需要加上ignore=y
记得,导入的时候,a表需要truncate 或者drop 掉,这两者都是不可恢复的。
如果用导入和导出的话速度是会快一些,不过为了保险,还是多做几次测试。可以再去网上查一下导入导出命令的具体用法。