SQL Server数据库的临时表的正确操作步骤

下面的文章主要介绍的是SQL Server数据库的临时表的正确使用方案,SQL Server数据库的临时表在实际操作中有很多的问题需要我们大家处理,那么究竟是如何对其进行处理的呢?以下的文章将会给你相应的解答方案。

删除临时表#Tmp

 

create table #Tmp 创建临时表#Tmp

 

(

 

ID int IDENTITY (1,1) not null, 创建列ID,并且每次新增一条记录就会加1

 

WokNo varchar(50),

 

pr

 

SQL Server数据库临时表的使用

 

删除临时表#Tmp

 

create table #Tmp 创建临时表#Tmp

 

(

 

ID int IDENTITY (1,1) not null, 创建列ID,并且每次新增一条记录就会加1

 

WokNo varchar(50),

 

primary key (ID) 定义ID为临时表#Tmp的主键

 

);

 

Select * from #Tmp 查询临时表的数据

 

truncate table #Tmp 清空临时表的所有数据和约束

 

相关例子:

Declare @Wokno Varchar(500) 用来记录职工号

Declare @Str NVarchar(4000) 用来存放查询语句

 

Declare @Count int 求出总记录数

 

  1. Declare @i int  
  2. Set @i = 0   
  3. Select @CountCount = Count(Distinct(Wokno)) from #Tmp  
  4. While @i < @Count   
  5. Begin  
  6. Set @Str = 'Select top 1 @Wokno = WokNo from #Tmp Where id not in (Select top ' + Str(@i) + 'id from #Tmp)'  
  7. Exec Sp_ExecuteSql @Str,N'@WokNo Varchar(500) OutPut',@WokNo Output  
  8. Select @WokNo,@i  

一行一行把职工号显示出来

  1. Set @i = @i + 1  
  2. End 

临时表

 

可以创建本地和全局临时表。本地临时表仅在当前会话中可见;全局临时表在所有会话中都可见。

 

本地临时表的名称前面有一个编号符 (#table_name),而全局临时表的名称前面有两个编号符 (##table_name)。

SQL 语句使用 CREATE TABLE 语句中为 table_name 指定的名称引用临时表:

 

  1. CREATE TABLE #MyTempTable (cola INT PRIMARY KEY)  
  2. INSERT INTO #MyTempTable VALUES (1) 

如果本地临时表由存储过程创建或由多个用户同时执行的应用程序创建,则 SQL Server数据库必须能够区分由不同用户创建的表。为此,SQL Server 在内部为每个本地临时表的表名追

加一个数字后缀。存储在 tempdb 数据库的 sysobjects 表中的临时表,其全名由 CREATE TABLE 语句中指定的表名和系统生成的数字后缀组成。为了允许追加后缀,为本地临时表指定的表名 table_name 不能超过 116 个字符。

 

除非使用 DROP TABLE 语句显式除去临时表,否则临时表将在退出其作用域时由系统自动除去:

当存储过程完成时,将自动除去在存储过程中创建的本地临时表。由创建表的存储过程执行的所有嵌套存储过程都可以引用此表。但调用创建此表的存储过程的进程无法引用此表。所有其它本地临时表在当前会话结束时自动除去。

 

全局临时表在创建此表的会话结束且其它任务停止对其引用时自动除去。任务与表之间的关联只在单个 Transact-SQL 语句的生存周期内保持。换言之,当创建全局临时表的会话结束时,***一条引用此表的 Transact-SQL 语句完成后,将自动除去此表。

 

在存储过程或触发器中创建的本地临时表与在调用存储过程或触发器之前创建的同名临时表不同。如果查询引用临时表,而同时有两个同名的临时表,则不定义针对哪个表解析该查询。嵌套存储过程同样可以创建与调用它的存储过程所创建的临时表同名的临时表。嵌套存储过程中对表名的所有引用都被解释为是针对该嵌套过程所创建的表,例如:

 

 

  1. CREATE PROCEDURE Test2  
  2. AS  
  3. CREATE TABLE #t(x INT PRIMARY KEY)  
  4. INSERT INTO #t VALUES (2)  
  5. SELECT Test2Col = x FROM #t  
  6. GO  
  7. CREATE PROCEDURE Test1  
  8. AS  
  9. CREATE TABLE #t(x INT PRIMARY KEY)  
  10. INSERT INTO #t VALUES (1)  
  11. SELECT Test1Col = x FROM #t  
  12. EXEC Test2  
  13. GO  
  14. CREATE TABLE #t(x INT PRIMARY KEY)  
  15. INSERT INTO #t VALUES (99)  
  16. GO  
  17. EXEC Test1  
  18. GO 

下面是结果集:

 

  1. (1 row(s) affected)  
  2. Test1Col   
  3. 1   
  4. (1 row(s) affected)  
  5. Test2Col   
  6. 2   

 

当创建本地或全局临时表时,CREATE TABLE 语法支持除 FOREIGN KEY 约束以外的其它所有约束定义。如果在临时表中指定 FOREIGN KEY 约束,该语句将返回警告信息,指出此约

束已被忽略,表仍会创建,但不具有 FOREIGN KEY 约束。在 FOREIGN KEY 约束中不能引用临时表。

 

考虑使用表变量而不使用SQL Server数据库临时表。当需要在临时表上显式地创建索引时,或多个存储过程或函数需要使用表值时,临时表很有用。通常,表变量提供更有效的查询处理。

【编辑推荐】

  1. SQL Server内存占用的执行缓存的正确优化
  2. SQL Server所有表的列信息展示
  3. SQL Server 数据表信息的详细描述
  4. SQL Server数据库附加之后只读或是失败的破解
  5. SQL Server置疑的出现的原因,现象与破解

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/234086.html<

(0)
管理的头像管理
上一篇2025-04-20 22:29
下一篇 2025-04-20 22:30

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注