dblink远程调用存储过程

-- 在A数据库创建存储过程、表
CREATE OR REPLACE PROCEDURE A0K_PROC_TEST1(V_YEAR   IN NUMBER,
                                           V_RESULT OUT NUMBER) AS
BEGIN
  INSERT INTO A0K_TEST_0119
    (TEST_YEAR, TEST_DATE, TEST_PROC)
  VALUES
    (V_YEAR, SYSDATE,'A0K_PROC_TEST1');
  V_RESULT := 1;
  COMMIT;
END A0K_PROC_TEST1;

CREATE OR REPLACE PROCEDURE A0K_PROC_TEST2(V_YEAR   IN NUMBER) AS
BEGIN
  INSERT INTO A0K_TEST_0119
    (TEST_YEAR, TEST_DATE, TEST_PROC)
  VALUES
    (V_YEAR, SYSDATE,'A0K_PROC_TEST2');
  COMMIT;
END A0K_PROC_TEST2;

create table A0K_TEST_0119(
  test_year number,
  test_date date,
  test_proc varchar2(20));
-- 在B数据库中调用A的存储过程
declare
  v_res number;
begin
  A0K_PROC_TEST1@dblink(2014,v_res);
end;

declare
  v_res number;
begin
  A0K_PROC_TEST2@dblink(2014);
end;

select * from  A0K_TEST_0119@dblink p order by p.test_date desc;

你可能感兴趣的:(oracle)