如何使用 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 中的表级别进行镜像或复制的主要内容,如果未能解决你的问题,请参考以下文章
如何使用基于 SQL Query 的连接在 C# 中编写 LINQ?
如何在 Big Query 的标准 SQL 中使用通配符为特定分区查询多个表
如何在 Typo3 版本 10 ($GLOBALS['TYPO3_DB']->sql_query()) 中执行普通 SQL?