有的时候我们可能会需要调用远程服务器中的一张表拿到本地服务器来用,而我们又没有导出与导入的权限,如果仅手工肯定是不可取的,那么在这个时候Oracle中的database link 命令就非常的有用了,下面给出一个案例:
现有一远程服务器名为farorcl
假定是scott里面的emp表
而你就只有查询的权限
现在你本地也需要这么一张表,那么就在你本地服务器里面建立一个与远程服务器的连接
注意:必须拥有DBA的权限
sql> create database link my_linkdb connect to scott identified by tiger using 'farorcl';
通过这条命令就建立了与远程数据库的连接,此时你就可以在本地的服务器里面访问远程的数据了。例:
sql>select * from emp@my_linkdb;
注意:查询时需要带上你刚创建的DBLink 的名字,在这里也就是my_linkdb;
好了这时就查询出来了,想怎样操作就怎样操作了
copy表的命令是
sql>create table newemp as select * from emp@my_linkdb;
这个命令是在创建表的同时就给它赋予了相同的字段与值
还有一个时你已经有表,而只需要其中的几列数据 ,可以这样写
sql>insert into newemp select empno,empname from emp@my_linkdb;
好了,这样就可以了