当前位置: 首页 > 面试题库 >

在SQL中克隆行的最快方法

郎宏浚
2023-03-14
问题内容

我要克隆具有单个主键(PrimKey)的多个表的行。在SQL Server 2005中克隆行的最快方法是什么?

这是一个例子

克隆PrimKey1以获取PrimKey2。所以我尝试以下方法:

INSERT INTO PrimKeys 
SELECT 'PrimKey2' AS PrimKey,* 
  FROM PrimKeys 
 WHERE PrimKey='PrimKey1'

但是,这里的问题当然是,内部SELECT语句中重复了列PrimKey。还有其他与上述简单类似的方法吗?

谢谢大家的答复。我继续写了一个函数来处理我的应用程序。我不使用存储的Procs或Temp表,因此无法使用某些人发布的几个有效答案。


问题答案:

如果要从多个表克隆,最快的方法将是使用存储过程,以便所有查询都保留在数据库中,并且您不必为客户端和服务器之间的通信付出任何代价。

完成此操作后,请开始进行单元测试,以了解执行该操作需要多长时间。然后根据您得到的建议开始尝试对其进行更改,并查看是否有任何改进。



 类似资料:
  • 问题内容: 我正在尝试制作对象(包括实例)的深层副本。我一直很警惕使用它,在这里似乎并没有覆盖它,所以我只是逐字段进行复制。理想情况下,会有一个复制构造函数,我可以这样使用: 不幸的是,我在API中找不到任何这样的功能,并且一直试图找出我需要获得确切副本的字段。因此,要复制这些日历之一,您将如何做?我在这里缺少一些简单的捷径吗? 问题答案: 已覆盖正在运行的内容,请使用它。此外,它没有深层的数据层

  • 主要内容:示例在某些情况下,您可能需要一个表的完整、精确副本,也即克隆表(复制表)。我们首先想到的是使用 CREATE TABLE 命令创建一张新表,然后使用 SELECT 命令从旧表中选取所有数据,并使用 INSERT 命令插入到新表中。但是这种做法可能达不到您的目的,因为副本必须包含相同的索引、约束、默认值等。 如果您使用 MySQL 数据库,可以借助 SHOW CREATE TABLE 命令,该命令用来展

  • 如果我克隆了以下类的一个实例,并在实例化时覆盖了一个方法,克隆会有被覆盖的方法吗?我在https://docs.oracle.com/javase/7/docs/api/java/lang/Cloneable.html和https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#clone()中没有找到任何关于这种行为的内容。

  • 我正试图用OptaPlanner解决时间表问题,但我面临的问题可能与克隆问题有关。为什么我的计划实体收集方法看起来像这样 我犯错了 但是,当方法看起来像 一切都还好。有什么理由呢?为什么我会出现这个错误?谢谢你的帮助。

  • 我在Laravel4中有一个很大的项目,我需要用大量的表来制作新的数据库。我可以快速创建空数据库,但是如何用表填满它呢?我不能立即使用迁移,因为这个应用程序有很多权限,所以用户不能传递它们。 第一个选项是克隆空数据库(空数据库来自数据,但包含表)。第二个选项是动态运行sql转储文件。 有人能解释一下怎么做吗?

  • 我对在我想要克隆对象的类中重写克隆方法感到困惑。 因为Java中的每个类都是从Object扩展而来的,所以它应该有clone方法,但是我们仍然被迫重写clone。为什么要求? 另外,我在一些地方阅读了重写克隆对象并将其公之于众的内容。我想知道,为什么会这样? 欢迎提供所有答案。