2024年5月11日发(作者:)

同一台数据库服务器上两个不同的数据库可以通过共享来实现数据共享。两台不

同的数据库服务器无法通过这种方法来实现数据共享,这个时候可以使用

database links 。创建全局database links ,则必须使用systm或sys用户,

在database前加public

1.两种方式创建

1.1 已经配置本地服务

CREATE DATABASE LINK 数据库链接名 CONNECT TO 用户名 IDENTIFIED BY 密码

USING '本地配置的数据的实例名' ;

1.2 未配置本地服务

create database link linkfwq

connect to fzept identified by neu

using '(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.142.202.12)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = fjept)

)

)' ;

两种方法配置dblink是差不多的,第二种方法不受本地配置的数据的实例名的

影响。

2 查询远程数据库的数据

SELECT „„ FROM 表名@数据库链接名;

查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成“表

名@dblink服务器”而已。

Job

创建测试表

SQL> create table TEST(a date);

表已创建。

创建一个自定义过程

SQL> create or replace procedure MYPROC as

2 begin

3 insert into TEST values(sysdate);

4 end;

5 /

过程已创建。

创建JOB

SQL> variable job1 number;

SQL>

SQL> begin

2 dbms_(:job1,'MYPROC;',sysdate,'sysdate+1/1440'); --每天1440分钟,

即一分钟运行test过程一次

3 end;

4 /

PL/SQL 过程已成功完成。

运行JOB

SQL> begin

2 dbms_(:job1);

3 end;

4 /

PL/SQL 过程已成功完成。

SQL> select to_char(a,'yyyy/mm/dd hh24:mi:ss') 时间 from TEST;

时间

-------------------

2001/01/07 23:51:21

2001/01/07 23:52:22

2001/01/07 23:53:24

删除JOB

SQL> begin

2 dbms_(:job1);

3 end;

4 /

存储过程

1、创建存储过程

create or replace procedure test(var_name_1 in type,var_name_2 out type) as

--声明变量(变量名 变量类型)