sqlserver游标实例(Sql Server临时表和游标的使用小结)
sqlserver游标实例
Sql Server临时表和游标的使用小结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
- mysql的字符串截取函数(MySQL实现字符串的拼接,截取,替换,查找位置的操作)
- sql server中有哪几种锁定模式(SQL Server三种锁定模式的知识讲解)
- 阿里云mysql配置升级注意事项(详解如何在阿里云上安装mysql)
- mysql8.0安装版安装详细教程(mysql 8.0.24版本安装配置方法图文教程)
- sqlserver中的存盘按钮在哪(SQL Server 2016里的sys.dm_exec_input_buffer的问题)
- mysql limit越大越慢(MySQL limit分页大偏移量慢的原因及优化方案)
- 在php中与数据库连接的技术(PHP7.0连接DB操作实例分析基于mysqli)
- mysql 排序源码(MySQL排序原理和案例详析)
- mysql binlog如何查看(MySQL binlog_ignore_db 参数的具体使用)
- SQL Server Profile事件含义
- mysql错误代码之1064的解决方案(mysql错误代码之1064的解决方案)
- SQL Server中SET赋值和SELECT赋值
- sqlserver2016标准分区(Sql Server 2016新功能之Row-Level Security值得关注)
- sqlserver 查询锁(sqlserver:查询锁住sql以及解锁方法)
- sqlserver技术文档(sql server2016里面的json功能浅析)
- mysql命令输入行在哪(MySQL命令行操作时的编码问题详解)
- 《小敏家》金波想要复婚 这只是他圈套的第1步,更可恶的在后面(小敏家金波想要复婚)
- 小敏家 剧情离谱一锅乱炖,但他们俩绝对是这部剧的一大 亮点(剧情离谱一锅乱炖)
- 《倚天屠龙记》再遭翻拍,关晓彤主演赵敏,蒋劲夫演张无忌,你怎么看(倚天屠龙记再遭翻拍)
- 吴启华与曾舜晞两代张无忌同框,戏里经典的他却没活出原著的潇洒(吴启华与曾舜晞两代张无忌同框)
- 经常发这三种 朋友圈 的人,要迅速屏蔽(经常发这三种朋友圈)
- 有种尴尬叫朋友圈忘屏蔽,大学生上演社死现场,父母亲自下场吐槽(有种尴尬叫朋友圈忘屏蔽)
热门推荐
- 阿里云服务器慢怎么回事(阿里云服务器进入黑洞应该怎么办?)
- 阿里云rds需要读写分离吗(为什么使用阿里云RDS?使用RDS有什么好处?)
- php对象模型(PHP数据对象映射模式实例分析)
- 阿里云服务器端口开放(阿里云服务器Windows实例公网网络异常的解决方法)
- javascript中求二维数组最小值(javascript实现数组最大值和最小值的6种方法)
- python语法规则讲解(计算机二级python学习教程2 python语言基本语法元素)
- 阿里云服务器ecs入口(阿里云ECS云服务器更换公网IP的方法)
- nginx常见错误码(Nginx常见的错误配置举例)
- mysql 自定义排序
- vue多个对象实现双向数据绑定(利用js实现Vue2.0中数据的双向绑定功能)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9