游标的概念
来源:互联网 发布:温附一医软件 编辑:程序博客网 时间:2024/04/20 10:17
1) 使用Select语句可以返回一个结果集,而如果需要对结果集中单独的行进行操作,则需要使用游标;
2) 使用游标主要遵循4个步骤----声明游标、打开游标、检索游标、关闭游标;
2) 使用游标主要遵循4个步骤----声明游标、打开游标、检索游标、关闭游标;
- 声明游标:主要是定义一个游标名称来对应一条查询语句,从而可以利用该游标对比查询语句返回的结果集进行单行操作;
- 打开游标:在声明游标时为游标指定了查询语句,但此时该查询语句并不会被Oracle执行。只有打开游标后,Oracle才会执行查询语句;
- 检索游标:打开游标后,游标所对应的Select语句也就被执行了,如果想要获取结果集中的数据,就需要检索数据。检索数据,实际上就是从结果集中获取单行数据并保存到定义的变量中,这需要使用Fetch语句,其语法如下
其中,variable用来存储结果集中单行数据的变量,可以选择使用多个普通类型的变量,一对一的接收数据行中的列值;也可以使用一个%rowtype类型的变量,或
自定义的记录类型变量,接收数据行中所有的列值。变量需要事先定义。
- 关闭游标:关闭游标需要使用close语句。游标被关闭后,Oracle将释放游标中select语句的查询结果所占用的系统资源;
3)游标的属性
游标属性的使用,是在属性前添加游标名称,如cursor_name%found;
- %found:返回布尔类型的值。用于判断最近一次读取记录时是否有数据行返回,若有则返回true,否则返回false;
- %notfound:返回布尔类型的值,与%found相反;
- %isopen:返回布尔类型的值。用于判断游标是否已经打开,若打开则返回true,否则返回false;
- %rowcount:返回数字类型的值。用于返回已经从游标中读取的记录数;
- 简单游标循环:loop搭配fetch实现简单游标循环,遵循游标的4个步骤执行;
- 游标for循环:在这种情况下,不需要手动打开和关闭游标,也不需要手动判断游标是否还有返回记录,而且在for语句中设置的循环变量本身就存储了当前检索记录的所有列值,因此也不再需要定义变量接受记录值,即for循环中,不能对游标进行open、fetch、close操作;
5)使用游标可以更新表中的数据;
游标的更新操作针对当前游标所定位的数据行。要想实现使用游标更新数据,首先需要在声明游标时使用for update字句,然后就可以在update和delete语句使用where current of字句,修改或删除游标结果集中当前行对应的表中的数据行。
0 0
- SQL 游标的概念
- 游标的概念
- Oracle游标共享,父游标和子游标的概念
- Oracle游标共享,父游标和子游标的概念
- 游标的概念及使用
- 游标的概念和作用
- 游标的概念和作用
- 游标的概念和作用
- 游标的概念和作用
- 游标的概念和作用
- 游标概念
- 深入理解父游标,子游标的概念
- 游标概念作用以及orcle游标的使用
- 游标的作用及概念详解
- 数据库中cursor游标的概念
- 【转】数据库游标的概念和作用
- 数据库中cursor游标的概念
- oracle 隐式 游标 显示 循环 动态 select 语句 游标 异常 处理 自定义 游标的概念
- mysql> delimiter //
- maven jar包下载
- 个人博客搭建全攻略(一):基于Hexo+Github环境搭建
- Spring之注解 @Autowired 注释与@Resource注释的区别
- 怎么应用vertical-align,才能生效?
- 游标的概念
- 《JAVA与模式》之观察者模式
- Mysql数据库添加用户配置权限
- LWIP手记【A】memp-1
- ProcessMessageFilter的使用
- Linux系统的一些命令-备忘录
- HTML相关概念的介绍及HTML5结构和标签
- 欢迎使用CSDN-markdown编辑器
- go算法库封装