DBLink连接和查询表字段的方法

一、DBLink

当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。

创建:

create database link DYCL_KF--DBlink名称
connect to HNSIB_DYSI identified by "DBW0B!FzgeEHf"  --目标数据库的用户名和密码
using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL= TCP)(HOST = 10.120.83.20)(PORT = 1521)))

(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = SIPB_DEV)))';--目标数据库的IP、端口、数据

查询:select * from HNSIB_DYSI.AC03@DYCL_KF    ---目标数据库的用户名     DBlink名称

删除数据库连接:drop database link DYCL_KF;

二、查询表字段

declare
v_out_str varchar2(4000) := '';
cursor c1 is
SELECT column_name
FROM user_tab_columns a
WHERE table_name = upper('aa05') order by a.COLUMN_ID ;--表名
begin
for r1 in c1 loop
if v_out_str is not null then
v_out_str := v_out_str || ',' || r1.column_name;
else
v_out_str := r1.column_name;
end if;
end loop;
--v_out_str := 'insert into table_name (' || v_out_str || ')';
DBMS_OUTPUT.PUT_LINE(v_out_str);
end;

猜你喜欢

转载自www.cnblogs.com/xiaoyuer1229/p/12724471.html