首页 > 数据库 >SQL Server数据实时同步至Oracle数据库中

SQL Server数据实时同步至Oracle数据库中

时间:2023-05-12 17:11:28浏览次数:49  
标签:name -- age Server SQL Oracle inserted id

1、使用SSMS中的链接服务器链接Oracle

请参考链接  SQLServer 客户端链接服务器到Oracle数据库 全攻略_sqlserver连接oracle数据库_简单的你我1314的博客-CSDN博客

2、使用触发器(insert update delete)获取更改的数据然后同步至Oracle中(使用openquery查询)

//openquery语句 ORCL是链接服务器的名称 
INSERT openquery (ORCL,'SELECT "id","name","age" FROM system."person"') values(3,'本司',30)// delete openquery (ORCL,'SELECT "id","name","age" FROM system."person" where "id"=1')
-- ================================================
-- Template generated from Template Explorer using:
-- Create Trigger (New Menu).SQL
--
-- Use the Specify Values for Template Parameters 
-- command (Ctrl-Shift-M) to fill in the parameter 
-- values below.
--
-- See additional Create Trigger templates for more
-- examples of different Trigger statements.
--
-- This block of comments will not be included in
-- the definition of the function.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:        <Author,,Name>
-- Create date: <Create Date,,>
-- Description:    <Description,,>
-- =============================================
if exists(select * from sys.triggers where name = 'insertTriger')//如果触发器存在 删掉触发器
drop trigger insertTriger
go
CREATE TRIGGER insertTriger //创建触发器
   ON  demo.dbo.person 
   AFTER INSERT
AS 
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;
    declare @id as int;
    declare @name as nvarchar(50);
    declare @age as int;
    select @id= inserted.id from inserted; //inserted为SQL Server的逻辑表 还有deleted表
    select @name= inserted.name from inserted;
    select @age= inserted.age from inserted;
    -- Insert statements for trigger here
    INSERT openquery (ORCL,'SELECT "id","name","age" FROM system."person"') values(@id,@name,@age) //获取插入的数据后 同步插入至Oracle
END
GO

 

标签:name,--,age,Server,SQL,Oracle,inserted,id
From: https://www.cnblogs.com/sssssssy/p/17395540.html

相关文章

  • sql server 将datetime类型的字段转化成字符串输出
    SELECTOBJID,NAME,CONVERT(varchar(19),CREATIONDATE,120)ASCREATIONDATEFROM[dbo].[SYS_DOCUMENTREV]WHERENAMELIKE'test%.pdf'ORDERBYCREATIONDATEDESC......
  • Linux 服务器下Mysql自动备份 30天滚动存储 每天凌晨2点准时备份
    一、创建备份目录执行命令:在指定路径下创建备份目录cd/mnt/filemkdirdata_backup二、编写shell脚本放在/mnt/file/data_backup里创建.shshell脚本:touchbkmysql.sh打开脚本文件:vim bkmysql.sh脚本文件内容如下所示:login_user表示数据库用户名......
  • CentOS5.7 下mysql5.7自动备份数据脚本
    mysql5.7自动备份数据库脚本1.root用户下用cd命令进入到想要的位置创建一个脚文文件://创建脚本命令vimbackup.shvim脚本名.sh#!/bin/bashsource/etc/profile#加载系统环境变量source~/.bash_profile#加载用户环境变量set-onounset......
  • MYSQL 查找单个字段或者多个字段重复数据,清除重复数据
    重复数据的情况分为两种:  单个字段数据重复  多个字段数据重复所以该篇的内容就是包括单个字段的重复数据查找 与去重多个字段的重复数据查找 与去重 第一步先查出来所有重复的数据selectt.id,t.subject_id,t.image_id,t.mark_person_idfromdm......
  • 【大揭秘】SQL与NoSQL数据库的优缺点全面对比!一篇文章帮助你轻松解决选择困难症!
    从分析师、工程师到IT决策者,许多人都熟悉关系数据库管理系统(rDBMS)和用于与它们交互的SQL(SQL)。虽然这些术语指的是一个几十年的范式,仍然是一个广泛使用的标准,今天的纯粹的多样性和数据库系统的深度可以令人眼花缭乱。更重要的是,不断增长的各种数据(尤其是非结构化数据数据)......
  • docker 安装mysql
    一、拉取镜像#拉取镜像dockerpullmysql#或者dockerpullmysql:latest#执行版本dockerpullmysql:5.7#以上两个命令是一致的,默认拉取的就是latest版本的#我们还可以用下面的命令来查看可用版本:dockersearchmysql 二、查看镜像使用以下命令来查看是......
  • Oracle系列---【oracle使用expdp和impdp实现导入导出】
    一、前提条件两个数据版本和字符集还有语言得一致。#查看数据库版本号selectversionfromv$instance;#查看语言和字符集selectuserenv('language')fromdual;二、创建临时表空间MY_TEMPsu-oraclesqlplus/assysdba;SQL>CREATEDIRECTORYMY_TEMPAS'/OPT/TEM......
  • mysql8.0.33的安装教程
    1、1 MySQL有四种不同的版本:community版、standard版、enterprise版和cluster版。Community版Community版是MySQL最常用的免费版本,它是基于GPL(GNU通用公共许可证)许可协议发布的。它是开源的,可以利用社区的贡献来维护和改进。有非常多的支持和帮助,可以从官方网站下载。Standar......
  • Oracle 核心列信息查看与处理
    Oracle核心列信息查看与处理背景最近想对数据库表进行跨数据之间的比照因为有一些自增列或者是时间戳的列不需要进行对比后者是对比容易导致失真.所以就准备选用其他方式进行一下处理.本文主要是简单记录一下生成SQL的办法.获取必要列作为select的字段SELECT LI......
  • Mysql-MHA集群
    基本概念由来MHA(MasterHighAvailability)目前在MySQL高可用方面是一个相对成熟的解决方案。它由日本DeNA公司youshimaton(现就职于Facebook公司)开发。原理组成由两部分组成:MHAManager(管理节点)和MHANode(数据节点)MHAManager可单独部署在一台独立的机器上管理多个mast......