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

如何根据类型创建临时表?

冯卜鹰
2023-03-14
问题内容

假设我有某种类型:

CREATE TYPE usr.NameList AS TABLE ([name] VARCHAR(MAX) NOT NULL);

现在我想基于这种类型创建一个临时表,我该怎么做?

CREATE TABLE #superBrand (usr.NameList) -- doesn't work

同样,从此:基于用户定义的类型创建表:

CREATE TABLE #superBrand OF usr.NameList -- doesn't work

问题答案:

[\Pure.Krome的答案)显示了如何使用表变量而不是#temp表。如果您确实想要基于已知表类型的#temp表(而不必知道列名/定义),则可以说:

DECLARE @d usr.NameList;
SELECT * INTO #superBrand FROM @d;

现在,#superBrand应与表类型的表结构匹配,减去约束(以及从SQL Server 2014开始的边际有用的二级索引)。

当然,随后填充#temp表的其余代码将必须了解结构。那么,声明与表类型具有相同结构的#temp表的目的到底是什么?



 类似资料:
  • 问题内容: 我想在Oracle数据库中创建一个临时表 就像是 在SQL Server中 然后用选择语句填充它 是否有可能? 谢谢 问题答案: 是的,Oracle有临时表。这是描述它们的AskTom文章的链接,这是oracle的官方CREATE TABLE文档。 但是,在Oracle中,只有临时表中的 数据 是临时的。该表是其他会话可见的常规对象。在Oracle中频繁创建和删除临时表是一种不好的做法

  • 问题内容: 假设我有一个用户定义的类型: 现在,我想创建一个表来保存这些类型。我可以执行以下操作: 这给了我一张只有一列的表格test_type_field。 有没有一种简单而自动化的方法来代替,以创建一个表,使其具有2列f1和f2?。这样就等同于编写: 问题答案: 你有没有尝试过:

  • 问题内容: 我想获取一个传递的列表,该列表我知道是同构的,并从中创建一个与其中的元素类型相同的数组。 就像是… 问题答案: 转换将在运行时发生,而类型在编译时丢失。因此,您应该执行以下操作: 但是请注意,上面的第三行可能会引发异常-它不是类型安全的。

  • 问题内容: 在Go中,如何在运行时根据对象的类型创建对象的实例?我想您还需要先获取对象的实际值吗? 我正在尝试执行惰性实例化以节省内存。 问题答案: 为了做到这一点,你需要。 您可以使用结构类型(而不是int)执行相同的操作。还是其他的,真的。只需确保了解map和slice类型时new和make之间的区别即可。

  • 问题内容: 我目前正在为一家餐馆开发门户应用程序。使用的后端数据库是Mysql,而我正在使用Spring JDBC支持来编写数据访问逻辑。 我的某些DAO充满了多个查询,并且正获得多达数千行的代码。我认为我可以通过将一些逻辑移到SQL- PSM过程中来减少大小和复杂性(因为Java中的数据绑定和粘合代码是令人讨厌的事情)。 但是,我对Db没有DDL权限,因此无法创建该过程。 我想知道是否有一种方法

  • 问题内容: 我有创建的定义的表类型 我想创建这种类型的表。从这个答案的建议是尝试 在我的SQL Server Express 2012中产生了以下错误消息: 关键字“ OF”附近的语法不正确。 SQL Server Express不支持此功能吗?如果是这样,我可以用其他方式创建它,例如使用吗? 问题答案: –Create table variable from type. DECLARE @Tab