Defined cursor ;
cursor mycursor is select * from employees where employees.salary>tempsal;
Learning point on cursor;
declare
tempsal employees.salary%type;
cursor mycursor is select * from employees where employees.salary>tempsal;
currecord employees%rowtype;
begin
tempsal:=800;
open mycursor;
if mycursor%isopen then
fetch mycursor into cursorrecord;
dbms_output.put_line(to_char(cursorrecord.deptno));
else dbms_output.put_line('游标没有打开');
end if;
end;
currecord is record type(记录类型)
%isopen
if mycursor%isopen then
fetch mycursor into cursorrecord;
dbms_output.put_line(to_char(cursorrecord.deptno));
else dbms_output.put_line('游标没有打开');
end if;
%found
if mycursor%found then
fetch mycursor into cursorrecord;
dbms_output.put_line(to_char(cursorrecord.deptno));
else dbms_output.put_line('游标没有打开');
end if;
%rowcount
dbms_output.put_line(to_char(mycursor%rowcount));
loop exit when mycurcor%notfound;
fetch mycursor into cursorrecord;
end loop;
declare
tempsal employees.salary%type;
cursor mycursor is select * from employees where employees.salary>tempsal;
currecord employees%rowtype;
begin
tempsal:=800;
open mycursor;
loop exit
when mycursor%notfound;
fetch mycursor into currecord;
dbms_output.put_line(to_char(currecord.email)) ;
end loop;
end;
output:
empid=13
empid=10
empid=12
empid=12
corrected SQL code:
declare
temp_salary employee.salary%type;
temp_emp employee%rowtype;
cursor mycursor is
select * from employee where employee.salary>temp_salary;
begin
temp_salary:=2000;
open mycursor;
loop
fetch mycursor into temp_emp;
exit when mycursor%notfound;
dbms_output.put_line('empid='||temp_emp.empid);
end loop;
end;
output:
empid=13
empid=10
empid=12
declare中声明一个可以承载 mycursor的记录型数据
声明一个cursor
此处注意:loop exit之间的循环问题
在存储过程中使用游标
create or replace procedure emp_pro_cur
as
cursor cur is select * from employee where employee.empname like 'd%';
begin
for emp in cur loop --这里for循环,不需要使用fetch移动游标指针,也不需要open cursor&close cursor
dbms_output.put_line(emp.empname);
end loop;
end;
--调用存储过程
call emp_pro_cur();
分享到:
相关推荐
oracle笔记游标的使用,游标的详细代码案例,游标知识点笔记!
高手笔记 软件开发软件使用笔记 本资源是关于高手笔记 软件开发软件使用笔记的知识点总结。主要讲解了如何构建带内存错误检查的 gcc,以及 QEMU 的使用笔记。 一、构建带内存错误检查的 gcc 高手笔记软件开发软件...
安卓上最佳笔记应用及其源代码 概述 安卓上最佳笔记应用使得在安卓智能手机或平板电脑上记录和管理笔记变得简单易行。笔记以卡片形式呈现,你可以轻松地滚动浏览并选择。通过集成的Google Drive,你可以在线访问...
笔记_离散数学及其应用
本串讲笔记主要针对Access数据库的基础知识及应用进行深入讲解,帮助备考者全面掌握数据库原理和实际操作技能。 Access数据库的设计基于关系模型,其中数据以表格的形式组织,每个表格称为一个表,表中的每一行代表...
### 印象笔记使用技巧详解 #### 一、个性化配置:剪辑首选项 印象笔记的强大之处在于其高度可定制性。对于Windows用户而言,“剪辑首选项”是实现个性化配置的重要工具。这一功能位于菜单栏的“工具”选项中,用户...
lucene使用总结笔记lucene使用总结笔记lucene使用总结笔记lucene使用总结笔记lucene使用总结笔记
Bootstrap的学习笔记心得涉及其核心组件及其属性,下面是对这些内容的详细说明。 ### Bootstrap组件概述 Bootstrap框架基于HTML、CSS和JavaScript,使得开发者能够利用一组预先设计好的组件来快速构建响应式网站。...
5. **删除数据**:使用delete()方法根据特定条件删除笔记。 此外,为了提供良好的用户体验,应用通常会封装这些数据库操作,使用Repository模式进行数据管理,确保数据访问的统一性和线程安全性。Repository层负责...
在Spring的XML配置文件中,我们可以使用`<property>`标签来指定bean的属性及其值。例如: ```xml ``` 这里,`property1`的值被设置为"value1",`property2`则引用了名为"anotherBean"的bean。 3. *...
流程管理风暴:EBPM方法论及其应用读书笔记 流程管理风暴:EBPM方法论及其应用读书笔记.pdf是一本关于流程管理的读书笔记,涵盖了流程管理的基本概念、EBPM方法论、核心理论、管理体系建模、全生命周期管理、BPM...
ExtJS资料笔记(extjs各个属性的详解) ExtJS资料笔记(extjs各个属性的详解) ExtJS资料笔记(extjs各个属性的详解)
这是关于模拟电子技术基础的笔记,主要介绍了电信号、模拟与数字信号、模拟电子系统的组成部分,以及半导体和二极管的基础知识。文中详细解释了半导体的特性、本征半导体与杂质半导体的区别、PN结的形成及其单向导电...
**正文** ...通过阅读“jsp四种属性讲解笔记”这份文档,可以更深入地了解这些概念,并通过实例来加深理解。同时,结合实际项目练习,将有助于提升对JSP属性的掌握程度,从而在开发过程中更加得心应手。
- 笔记内容通常使用Markdown格式,项目可能使用了第三方Markdown编辑器组件,如`vue-markdown`或自定义实现,提供富文本编辑和预览功能。 6. **前端构建工具** - 使用`Webpack`进行模块打包,将Vue组件和其他资源...
本篇将详细介绍C#中常见的控件及其重要属性,帮助你更好地理解和应用这些控件。 首先,我们来看Label控件。Label主要用于展示静态文本,它的属性包括: 1. Text:设置或获取标签上的文字内容。 2. ToolTip:当鼠标...
学习笔记可能涵盖事务的ACID属性(原子性、一致性、隔离性和持久性)以及事务的提交、回滚和保存点。 2. **SQLPlus**:20120325_oracle琛ㄧ殑杩炴帴鏂瑰紡銆乻qlplus.rar和20120326_oracle_sqlplus_DML.zip可能包含...
IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得IBatis学习笔记以及使用心得
陈强关于高级计量经济学的笔记,使用Python和Matlab估计计量经济学中的各种模型.zip 陈强关于高级计量经济学的笔记,使用Python和Matlab估计计量经济学中的各种模型.zip 陈强关于高级计量经济学的笔记,使用Python和...
事务处理是数据库管理的重要部分,笔记会详细阐述MySQL中的ACID属性(原子性、一致性、隔离性、持久性),以及事务的开始、提交、回滚操作。同时,还会介绍不同隔离级别的概念及其在实际应用中的选择。 在性能优化...