Sql Server临时表和游标的使用小结
发布时间 - 2026-01-11 01:11:15 点击率:次1.临时表

临时表与永久表相似,但临时表存储在 tempdb 中,当不再使用时会自动删除。
临时表有局部和全局两种类型
2者比较:
局部临时表的名称以符号 (#) 打头
仅对当前的用户连接是可见的
当用户实例断开连接时被自动删除
全局临时表的名称以符号 (##) 打头
任何用户都是可见的
当所有引用该表的用户断开连接时被自动删除
实际上局部临时表在tempdb中是有唯一名称的
例如我们用sa登陆一个查询分析器,再用sa登陆另一查询分析器
在2个查询分析器我们都允许下面的语句:
use pubs go select * into #tem from jobs
分别为2个用户创建了2个局部临时表
我们可以从下面的查询语句可以看到
SELECT * FROM [tempdb].[dbo].[sysobjects] where xtype='u'
判断临时表的存在性:
if object_id('tempdb..#tem') is not null
begin
print 'exists'
end
else
begin
print 'not exists'
end
特别提示:
1。在动态sql语句中创建的局部临时表,在语句运行完毕后就自动删除了
所以下面的语句是得不到结果集的
exec('select * into #tems from jobs')
select * from #tems
2。在存储过程中用到的临时表在过程运行完毕后会自动删除
但是推荐显式删除,这样有利于系统
ii。游标
游标也有局部和全局两种类型
局部游标:只在声明阶段使用
全局游标:可以在声明它们的过程,触发器外部使用
判断存在性:
if CURSOR_STATUS('global','游标名称') =-3 and CURSOR_STATUS('local','游标名称') =-3
begin
print 'not exists'
end
SELECT * FROM [tempdb].[dbo].[sysobjects] where xtype='u'
判断临时表的存在性:
if object_id('tempdb..#tem') is not null
begin
print 'exists'
end
else
begin
print 'not exists'
end
特别提示:
1。在动态sql语句中创建的局部临时表,在语句运行完毕后就自动删除了
所以下面的语句是得不到结果集的
exec('select * into #tems from jobs')
select * from #tems
2。在存储过程中用到的临时表在过程运行完毕后会自动删除
但是推荐显式删除,这样有利于系统
ii。游标
游标也有局部和全局两种类型
局部游标:只在声明阶段使用
全局游标:可以在声明它们的过程,触发器外部使用
判断存在性:
if CURSOR_STATUS('global','游标名称') =-3 and CURSOR_STATUS('local','游标名称') =-3
begin
print 'not exists'
end
SELECT * FROM [tempdb].[dbo].[sysobjects] where xtype='u'
判断临时表的存在性:
if object_id('tempdb..#tem') is not null
begin
print 'exists'
end
else
begin
print 'not exists'
end
特别提示:
1。在动态sql语句中创建的局部临时表,在语句运行完毕后就自动删除了
所以下面的语句是得不到结果集的
exec('select * into #tems from jobs')
select * from #tems
2。在存储过程中用到的临时表在过程运行完毕后会自动删除
但是推荐显式删除,这样有利于系统
ii。游标
游标也有局部和全局两种类型
局部游标:只在声明阶段使用
全局游标:可以在声明它们的过程,触发器外部使用
判断存在性:
if CURSOR_STATUS('global','游标名称') =-3 and CURSOR_STATUS('local','游标名称') =-3
begin
print 'not exists'
end
# Sql
# Server
# 临时表
# 游标
# SQL Server中使用表变量和临时表
# MySQL内部临时表的具体使用
# MySQL中临时表的基本创建与使用教程
# sql的临时表使用小结
# MySQL中关于临时表的一些基本使用方法
# 关于sqlserver 2005 使用临时表的问题( Invalid object name #te
# SQLSERVER 临时表和表变量的区别汇总
# sql语句中临时表使用实例详解
# 也有
# 只在
# 两种类型
# 过程中
# 后会自动
# 完毕后
# 都是
# 是有
# 我们可以
# 可以看到
# 分别为
# 再用
# 仅对
# brush
# select
# pubs
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在IIS7上新建站点并设置安全权限?
公司网站制作价格怎么算,公司办个官网需要多少钱?
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧
如何为不同团队 ID 动态生成多个非值班状态按钮
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
高端建站三要素:定制模板、企业官网与响应式设计优化
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
Swift开发中switch语句值绑定模式
米侠浏览器网页图片不显示怎么办 米侠图片加载修复
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
Android使用GridView实现日历的简单功能
C++用Dijkstra(迪杰斯特拉)算法求最短路径
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
利用JavaScript实现拖拽改变元素大小
Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程
Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道
Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
如何在阿里云虚拟主机上快速搭建个人网站?
,交易猫的商品怎么发布到网站上去?
php 三元运算符实例详细介绍
Laravel Session怎么存储_Laravel Session驱动配置详解
Laravel怎么上传文件_Laravel图片上传及存储配置
历史网站制作软件,华为如何找回被删除的网站?
Laravel如何实现全文搜索功能?(Scout和Algolia示例)
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
Laravel模型关联查询教程_Laravel Eloquent一对多关联写法
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
如何在橙子建站上传落地页?操作指南详解
如何快速打造个性化非模板自助建站?
Laravel怎么自定义错误页面_Laravel修改404和500页面模板
长沙做网站要多少钱,长沙国安网络怎么样?
Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】
如何用y主机助手快速搭建网站?
Python文件异常处理策略_健壮性说明【指导】
Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
如何在云主机上快速搭建网站?
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
Laravel如何自定义错误页面(404, 500)?(代码示例)
如何在Windows环境下新建FTP站点并设置权限?
Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
如何正确下载安装西数主机建站助手?
如何为不同团队 ID 动态生成多个独立按钮

