首页 > 解决方案 > 如何使用 SQL Query 在 SQL Server 中的表级别进行镜像或复制

问题描述

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

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

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

标签: sql-servertriggerssql-insertdatabase-mirroring

解决方案


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

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

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


推荐阅读