Oracle dblink job 存储过程.docVIP

  • 13
  • 0
  • 约5.78千字
  • 约 12页
  • 2018-01-18 发布于河南
  • 举报
Oracle dblink job 存储过程

同一台数据库服务器上两个不同的数据库可以通过共享来实现数据共享。两台不同的数据库服务器无法通过这种方法来实现数据共享,这个时候可以使用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 = 2)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = fjept) ) ) ; 两种方法配置dblink是差不多的,第二种方法不受本地配置的数据的实例名的影响。 2 查询远程数据库的数据 SELECT …… FROM 表名@数据库链接名; 查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成“表名@dblink服务器”而已。 存储过程 1、创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out type) as --声明变量(变量名 变量类型) begin --存储过程的执行体 end test; 打印出输入的时间信息 E.g: create or replace procedure test(workDate in Date) is begin dbms_output.putline(apos;The input date is:apos;||to_date(workDate,apos;yyyy-mm-ddapos;)); end test; 2、变量赋值 变量名 := 值; E.g: create or replace procedure test(workDate in Date) is x number(4,2); ?begin ?x := 1; end test; 3、判断语句: if 比较式 then begin end; end if; E.g create or replace procedure test(x in number) is begin ????????if x 0 then ?????????begin ????????x := 0 - x; ????????end; ????end if; ????if x = 0 then ???????begin ????????x: = 1; ????end; ????end if; end test; 4、For 循环 For ... in ... LOOP --执行语句 end LOOP; (1)循环遍历游标 create or replace procedure test() as Cursor cursor is select name from student; name varchar(20); begin for name in cursor LOOP begin ?dbms_output.putline(name);? end; end LOOP; end test; (2)循环遍历数组 ?create or replace procedure test(varArray in myPackage.TestArray) as --(输入参数varArray 是自定义的数组类型,定义方式见标题6) i number; begin i := 1;? --存储过程数组是起始位置是从1开始的,与java、C、C++等语言不同。因为在Oracle中本是没有数组的概念的,数组其实就是一张 --表(Table),每个数组元素就是表中的一个记录,所以遍历数组时就相当于从表中的第一条记录开始遍历 for i in 1..varArray.count LOOP????? dbms_output.putline(apos;The No.apos;|| i || apos;record in varArray is:apos;||varArray(i));??? ?end LOOP; end test; 5、While 循环 while 条件语句 LOOP begin end; end LOOP; E.g cr

文档评论(0)

1亿VIP精品文档

相关文档