Oracle dblink 원 격 호출 저장 프로 세 스, 함수, 시퀀스

1. dblink 원 격 호출 procedure: 
1. 원 격 sayHello 저장 과정 을 호출 하 는 저장 과정 을 썼 습 니 다. 원 격 sayHello 저장 과정 은 다음 과 같 습 니 다.
 
--    sayHello     :
create or replace procedure sayHello(currentTime out varchar) is
begin
   select 'Hello World' into currentTime from dual;
end sayHello;

 
 2. 실 현 된 say RemoteHello 저장 과정 은 다음 과 같다.
 
create or replace procedure sayRemoteHello(name varchar, pwd varchar, ip varchar) authid current_user as
sqlstr varchar(1000);
r varchar(100);
begin
  sqlstr:='drop database link tlink';
  execute immediate sqlstr;
--  sqlstr:= 'create database link tlink connect to scott identified by fj1234 using ''(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.70)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = orcl)))''';
--  SERVICE_NAME    SELECT * FROM GLOBAL_NAME;   ,   orcl
  sqlstr:= 'create database link tlink connect to '||name||' identified by '||pwd||' using ''(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = '||ip|| ')(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = orcl)))''';
  
  execute immediate sqlstr;
  sqlstr:='begin sayHello@tlink(:a); end;';
  execute immediate sqlStr using out r;
  
  dbms_output.put_line(r);
end sayRemoteHello;

 
3、 테스트 는 다음 과 같 습 니 다:
 
--  :call sayRemoteHello('scott', 'fj1234', '192.168.0.70');

 
2. dblink 원 격 호출 function:
 
 
 
3. dblink 원 격 호출 sequence:
SELECT    .NEXTVAL@    FROM DUAL;
 :
SELECT S_USER.NEXTVAL@SKOCRM FROM DUAL;
   
 
 
 
 

좋은 웹페이지 즐겨찾기