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

如何在SQL Server中使用Create语句创建临时表?

左丘昕
2023-03-14
问题内容

如何与创建普通表类似地创建临时表?

例子:

CREATE TABLE table_name 
(
    column1 datatype,
    column2 datatype,
    column3 datatype,
     ....
 );

问题答案:

临时表可以有3种,#是最常用的。这是仅在当前会话中存在的临时表。与之等效的是@声明的表变量。它具有较少的“功能”(如索引等),也仅用于当前会话。的##是一个是一样的#,但是,范围更广,因此您可以在同一会话中使用它,其他的存储过程中。

您可以通过多种方式创建临时表:

declare @table table (id int)
create table #table (id int)
create table ##table (id int)
select * into #table from xyz


 类似资料:
  • 问题内容: 是否可以通过select语句创建一个临时(仅会话)表,而无需使用create table语句并指定每个列类型?我知道派生表可以做到这一点,但是它们是超临时的(仅用于陈述),我想重用。 如果我不必编写create table命令并保持列列表和类型列表匹配,则可以节省时间。 问题答案: 从位于http://dev.mysql.com/doc/refman/5.7/en/create- ta

  • 问题内容: 为什么SQL Server坚持认为临时表已经存在!一个或另一个将会发生!,所以永远不会这样。 错误是:数据库中已经有一个名为“#temp1”的对象。 有没有解决这个问题的优雅方法?如果@checkvar为null,我要整个表,否则,只给我其中@checkvar =某物的值 编辑:该列是varchar,而不是int。 问题答案: 您不能只重写语句吗?

  • 问题描述 (Problem Description) 如何创建临时文件? 解决方案 (Solution) 此示例显示如何使用File类的createTempFile()方法创建临时文件。 import java.io.*; public class Main { public static void main(String[] args) throws Exception { F

  • 问题内容: 为什么不能在where子句中使用临时列? 例如,此查询: 这将显示两列,一列称为,另一列称为。是即时创建的,始终为1或0,具体取决于是否有50个或该品牌的产品。 这一切对我来说都是有意义的,除了我不能仅在以下查询中选择时: 这给了我这个错误: 问题答案: 使用来代替: 被评估 前 的。被评估之后。

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

  • 我的数据库是XE18。我的用户有create user,我可以使用以下命令在SQL Plus中创建用户: 然后,我创建了一个包,其中包含一个函数,该函数应该是动态创建用户,下面几行是: 我得到这个错误: 关系到错误- ORA-65096: nome de atconição ou de usuário comum inválido ORA-06512: em"TOKEN.PRC_CRIA_USUA