有没有办法在T-SQL中快速复制记录?

有没有办法在T-SQL中快速复制记录?

问题描述:

我需要复制选定行的所有字段完全相同,除了由ID自动添加的ID标识int。有没有办法在T-SQL中快速复制记录?

复制/克隆记录或记录(最多50个)的最佳方法是什么?

MS SQL 2008中是否有任何T-SQL功能,或者是否需要在存储过程中选择插入?

完成所需的唯一方法是使用插入语句,该语句枚举除标识列以外的每个列。

您当然可以在Insert语句中使用Select语句来选择要复制的多行。但是,我认为这会违反你的商业密钥(除了代理键以外的其他唯一约束),并且需要修改其他列。

Insert MyTable(... 
Select ... 
From MyTable 
Where .... 

如果您能够在插入行时检查复制条件,则可以在该表上放置INSERT触发器。这将允许您检查插入的列,而不必选择整个表。