如何使用 SQL Query 在 SQL Server 中的表级别进行镜像或复制

Posted

技术标签:

【中文标题】如何使用 SQL Query 在 SQL Server 中的表级别进行镜像或复制【英文标题】:How to do mirroring or replication in table level in SQL Server with SQL Query 【发布时间】:2021-11-26 13:54:48 【问题描述】:

将一行从一个表插入到第二个数据库的另一个表中

 Insert into Task1.dbo.Patients (FirstName, Lastname, Address, ContactNo,Gender,DateOfBirth )
  Select FirstName, Lastname, Address, ContactNo,Gender,DateOfBirth from Tasks.dbo.Patients

我想在另一个数据库中存在的类似表中仅插入 插入的行 的副本。 Insert Into 是一种选择,但它会从源表中复制整个数据并附加到目标表中。 我想在插入另一个数据库时只镜像一行。

【问题讨论】:

【参考方案1】:

您可以为此使用简单的触发器

CREATE TRIGGER tr_Patients_Tasks1Copy ON dbo.Patients AFTER INSERT
AS

SET NOCOUNT ON;

IF EXISTS (SELECT 1 FROM inserted)
    INSERT Task1.dbo.Patients
      (FirstName, Lastname, Address, ContactNo, Gender, DateOfBirth)
    SELECT FirstName, Lastname, Address, ContactNo, Gender, DateOfBirth
    FROM inserted i;

GO

注意插入的表可能有多行甚至零行

【讨论】:

以上是关于如何使用 SQL Query 在 SQL Server 中的表级别进行镜像或复制的主要内容,如果未能解决你的问题,请参考以下文章