oracle从远程数据库用存储过程同步数据
来源:互联网 发布:mysql 分组 每组个数 编辑:程序博客网 时间:2024/06/05 05:29
--笔记--查看数据库中存在的DBLINK,以SYSTEM,SCOTT有权限的用户SELECT * FROM DBA_DB_LINKS;SELECT OWNER, OBJECT_NAME FROM DBA_OBJECTS WHERE OBJECT_TYPE = 'DATABASE LINK';--创建DBLINK的权限,授权,PUBLIC DATABASE LINK公共的都可以访问,DATABASE LINK当前用户才可以访问GRANT CREATE PUBLIC DATABASE LINK, CREATE DATABASE LINK TO 用户名;--1.在源库创建到目标库的XIAOYU输入所要创建XIAOYU的名称,自定义 CREATE DATABASE LINK XIAOYU--设置连接远程数据库的用户名和密码 CONNECT TO 用户名 IDENTIFIED BY 密码--指定目标数据库的连接方式,可用TNS名称USING '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.101.10)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME =SERVICENAME)))';--创建存储过程名为GET_INFO--从TABLE_A表同步数据到TABLE_B表CREATE OR REPLACE PROCEDURE GET_INFO IS V_COUNT INT;V_ERROR_MSG NVARCHAR2(2000);BEGIN SELECT COUNT(*) INTO V_COUNT FROM TABLE_A@XIAOYU; IF V_COUNT = 0 THEN INSERT INTO TABLE_B (A, B, C, D, E, F, G) SELECT A, B, C, D, E, F, G FROM TABLE_A@XIAOYU; ELSE BEGIN MERGE INTO TABLE_B A USING (SELECT A, B, C, D, E, F, G FROM TABLE_A@XIAOYU) B ON (A.A = B.A) WHEN MATCHED THEN UPDATE SET A.A = B.A, A.B = B.B, A.C = B.C, A.D = B.D, A.E = B.E, A.F = B.F, A.G = B.G WHEN NOT MATCHED THEN INSERT (A, B, C, D, E, F, G) VALUES (B.A, B.B, B.C, B.D, B.E, B.F, B.G); END; END IF; COMMIT; --提交 INSERT INTO ERROR_LOG VALUES (ID, '数据同步', '', SYSDATE); --添加信息到日志表EXCEPTION --出现异常 WHEN OTHERS THEN BEGIN DBMS_OUTPUT.PUT_LINE('数据同步:' || SQLERRM); --打印错误信息 ROLLBACK; --回滚 V_ERROR_MSG := SQLERRM; INSERT INTO ERROR_LOG VALUES (ID, '数据同步', 'V_ERROR_MSG ' ,SYSDATE); END;END;
0 0
- oracle从远程数据库用存储过程同步数据
- ORACLE 本地数据库存储过程 调用远程数据库存储过程
- SQL远程连接数据库查询数据,远程调用存储过程
- oracle远程数据库同步
- ORACLE 存储过程 使用DBLINK 连接远程数据库
- 浅析Oracle存储过程触发器在数据同步中的应用
- Oracle数据同步(存储过程)修改纪录记载
- MySQL存储过程跨数据库操作同步数据
- sqlserver中不同服务器的数据库数据同步存储过程
- oracle 建表 造数据 存储过程 创建数据库的远程连接 以及一列的多行合并
- ORACLE_远程数据库同步
- ORACLE_远程数据库同步
- 存储过程访问远程数据库
- 存储过程&&数据库主从同步
- Oracle数据库-存储过程
- Oracle 数据库存储过程
- Oracle数据库-存储过程
- Oracle数据库--存储过程
- CloudKit
- 干掉jar包中的额外文件
- Properties 如何使用
- B1063. 计算谱半径(20)
- View的生命周期方法和Activity生命周期方法关系
- oracle从远程数据库用存储过程同步数据
- CentOS下以RPM方式安装mysql5.5
- 1021. 个位数统计 (15)
- Hadoop集群重启过程记录
- JavaScript中的callee与caller的区别
- AMQP协议(经典)
- SpringMVC登陆拦截器相关问题
- sublime配置执行php
- 结合 MultiType 实现加载更多