一般的数据查询是在一个数据库的一个或多个表进行,如果是查询2个数据库,然后将结果保存在一张TEMPORARY TABLE中,并且在TEMPORARY TABLE 中添加一个字段flgt来区分数据是来自于哪个数据库(2个数据字段差不多,只是命名上有点区别), 请问具体如何实现?
解决方案 »
- alter system flush buffer_cache 执行时消耗的时间为什么会越来越长
- oracle 指定时间查询,高手进。
- 连接数据库提示oracle initialization or shutdown in process
- 怎样在ORACLE中将一个字段中的字符查询处理展示的时候分成多行
- oracle的sqlload函数加载数据后,结果成功了,但生成的日志文件中却又错误,请帮忙看看,谢谢。
- 请教 游标关闭时是否会对在其间的insert和update做commit??谢谢
- oracle如何建立一个较小的数据库?
- 怎样把两个记录集和成一个纪录集!
- 如何在Red hat9.0下安装Oracle9i
- 数据库全库备份应该如何恢复啊?
- 请教10g rac性能问题
- 请问ORACLE导入问题。
然后就想 访问同一个数据库里的两个不同表类似了
后面的操作应该知道了吧
insert into table
select t.*,1 flag from table1 t
union all
select t1.*,2 from table2 t1
CREATE PUBLIC DATABASE LINK dblink的名字, CONNECT TO 目标库用户名 IDENTIFIED BY 目标库密码
USING '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=目标库ip)(PORT=1521)))(CONNECT_DATA=(SID=目标库netmanager名字)(SERVER=DEDICATED)))'然后
select * from table_name@dblink的名字,就跟普通查询一样了
--如果两个数据库都是oracle,那么就创建一个DBLINK来访问另一个
--如果有一个不是oracle,那就配置透明网关来访问(具体方法,Google,不复杂)
select 1 as DBFlg, ....(其他字段) from table1
union all
select 0 as DBFlg, ....(其他字段) from table2@myDBlink
--PS:其他字段的别名弄成一样的,类型都匹配就OK了