游标
2015-07-15 14:51
176 查看
第一次接触游标是一次面试中,技术人员问我是否使用多游标,当时并没有听说过。面试完对这个问题也没有去进一步了解。经过几天的面试,刚刚入职后,项目组长让我用游标结合存储过程写一个小功能。此时,不得不去学习它了。
认识游标之前,先说说我当时要完成的功能。当某一台设备(你可以理解成某一件物品)快要过期时,系统产生一条预警,把这台设备的信息插入到告警信息表中。
即,满足一定条件的前提下,把ASSETINFO表中你需要的信息逐条插入到AlarmInfo表中。此时就用到了游标。
游标提供了一种从表中检索数据并进行操作的灵活手段。一个完整的游标有5部分组成。并且符合下面的顺序:
1),声明游标 ; 2),打开游标 ; 3),从一个游标中查找信息; 4),关闭游标 ; 5),释放游标
语法如下:
declare 游标名称 cursor for --声明游标
select * from table --根据需求所执行的sql语句
open 游标名称 --打开游标
fetch next from 游标名称 into --从游标中读取数据,只能从结果集第一行按顺序地每次读取一行
close游标名称 --关闭游标
deallocate 游标名称 --释放游标
游标为应用程序提供了每次对结果集处理一行或一部分行的机制。但要避免使用游标,游标非常消耗资源,而且会对性能产生很大的影响,游标只能在别无选择时使用
认识游标之前,先说说我当时要完成的功能。当某一台设备(你可以理解成某一件物品)快要过期时,系统产生一条预警,把这台设备的信息插入到告警信息表中。
即,满足一定条件的前提下,把ASSETINFO表中你需要的信息逐条插入到AlarmInfo表中。此时就用到了游标。
游标提供了一种从表中检索数据并进行操作的灵活手段。一个完整的游标有5部分组成。并且符合下面的顺序:
1),声明游标 ; 2),打开游标 ; 3),从一个游标中查找信息; 4),关闭游标 ; 5),释放游标
语法如下:
declare 游标名称 cursor for --声明游标
select * from table --根据需求所执行的sql语句
open 游标名称 --打开游标
fetch next from 游标名称 into --从游标中读取数据,只能从结果集第一行按顺序地每次读取一行
close游标名称 --关闭游标
deallocate 游标名称 --释放游标
游标为应用程序提供了每次对结果集处理一行或一部分行的机制。但要避免使用游标,游标非常消耗资源,而且会对性能产生很大的影响,游标只能在别无选择时使用
相关文章推荐
- 对回调函数的理解
- MySQL表的四种分区类型&创建,增加,删除mysql表分区
- java文件中数据导出生成Excel表格
- INF 右安装驱动程序和卸载
- stage.focus后 有黄色边框怎么去掉
- php和jsonp的简单使用
- PHP扩展调用so动态链接库(2)
- Redis的set操作
- GRE写作必备句型
- Java多线程编程--初识线程
- C#图片加文字、图片水印
- leetcode 237: Delete Node in a Linked List
- Amr and Chemistry time limit per test
- Java线程池相关
- jquery 选择器
- CPU主板架构
- OC基础10:基本的C语言特性1
- Redis的List操作
- jQuery siblings() 的作用
- MFC中获取各个窗体之间的句柄或者指针对象的方法