`
danielhjd
  • 浏览: 246329 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

(笔记)如何声明使用cursor及其属性

 
阅读更多

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笔记游标的使用

    oracle笔记游标的使用,游标的详细代码案例,游标知识点笔记!

    高手笔记 软件开发软件使用笔记

    高手笔记 软件开发软件使用笔记 本资源是关于高手笔记 软件开发软件使用笔记的知识点总结。主要讲解了如何构建带内存错误检查的 gcc,以及 QEMU 的使用笔记。 一、构建带内存错误检查的 gcc 高手笔记软件开发软件...

    安卓上最佳笔记应用及其源代码+使用说明

    安卓上最佳笔记应用及其源代码 概述 安卓上最佳笔记应用使得在安卓智能手机或平板电脑上记录和管理笔记变得简单易行。笔记以卡片形式呈现,你可以轻松地滚动浏览并选择。通过集成的Google Drive,你可以在线访问...

    笔记_离散数学及其应用.pdf

    笔记_离散数学及其应用

    数据库及其应用考前串讲笔记

    本串讲笔记主要针对Access数据库的基础知识及应用进行深入讲解,帮助备考者全面掌握数据库原理和实际操作技能。 Access数据库的设计基于关系模型,其中数据以表格的形式组织,每个表格称为一个表,表中的每一行代表...

    印象笔记使用技巧.pdf

    ### 印象笔记使用技巧详解 #### 一、个性化配置:剪辑首选项 印象笔记的强大之处在于其高度可定制性。对于Windows用户而言,“剪辑首选项”是实现个性化配置的重要工具。这一功能位于菜单栏的“工具”选项中,用户...

    lucene使用总结笔记

    lucene使用总结笔记lucene使用总结笔记lucene使用总结笔记lucene使用总结笔记lucene使用总结笔记

    分享bootstrap学习笔记心得(组件及其属性)

    Bootstrap的学习笔记心得涉及其核心组件及其属性,下面是对这些内容的详细说明。 ### Bootstrap组件概述 Bootstrap框架基于HTML、CSS和JavaScript,使得开发者能够利用一组预先设计好的组件来快速构建响应式网站。...

    android笔记本

    5. **删除数据**:使用delete()方法根据特定条件删除笔记。 此外,为了提供良好的用户体验,应用通常会封装这些数据库操作,使用Repository模式进行数据管理,确保数据访问的统一性和线程安全性。Repository层负责...

    Spring学习笔记之二“属性注入”

    在Spring的XML配置文件中,我们可以使用`<property>`标签来指定bean的属性及其值。例如: ```xml ``` 这里,`property1`的值被设置为"value1",`property2`则引用了名为"anotherBean"的bean。 3. *...

    《流程管理风暴:EBPM方法论及其应用》读书笔记.pdf

    流程管理风暴:EBPM方法论及其应用读书笔记 流程管理风暴:EBPM方法论及其应用读书笔记.pdf是一本关于流程管理的读书笔记,涵盖了流程管理的基本概念、EBPM方法论、核心理论、管理体系建模、全生命周期管理、BPM...

    ExtJS资料笔记(extjs各个属性的详解)

    ExtJS资料笔记(extjs各个属性的详解) ExtJS资料笔记(extjs各个属性的详解) ExtJS资料笔记(extjs各个属性的详解)

    模电笔记-半导体二极管及其基本电路

    这是关于模拟电子技术基础的笔记,主要介绍了电信号、模拟与数字信号、模拟电子系统的组成部分,以及半导体和二极管的基础知识。文中详细解释了半导体的特性、本征半导体与杂质半导体的区别、PN结的形成及其单向导电...

    jsp四种属性讲解笔记

    **正文** ...通过阅读“jsp四种属性讲解笔记”这份文档,可以更深入地了解这些概念,并通过实例来加深理解。同时,结合实际项目练习,将有助于提升对JSP属性的掌握程度,从而在开发过程中更加得心应手。

    Vue技术栈实现的云笔记项目,印象笔记的功能基本都实现.zip

    - 笔记内容通常使用Markdown格式,项目可能使用了第三方Markdown编辑器组件,如`vue-markdown`或自定义实现,提供富文本编辑和预览功能。 6. **前端构建工具** - 使用`Webpack`进行模块打包,将Vue组件和其他资源...

    asp.net c#基本控件属性课堂笔记整理

    本篇将详细介绍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学习笔记以及使用心得IBatis学习笔记以及使用心得

    陈强关于高级计量经济学的笔记,使用Python和Matlab估计计量经济学中的各种模型.zipyolo v10

    陈强关于高级计量经济学的笔记,使用Python和Matlab估计计量经济学中的各种模型.zip 陈强关于高级计量经济学的笔记,使用Python和Matlab估计计量经济学中的各种模型.zip 陈强关于高级计量经济学的笔记,使用Python和...

    狂神MySQL笔记.rar

    事务处理是数据库管理的重要部分,笔记会详细阐述MySQL中的ACID属性(原子性、一致性、隔离性、持久性),以及事务的开始、提交、回滚操作。同时,还会介绍不同隔离级别的概念及其在实际应用中的选择。 在性能优化...

Global site tag (gtag.js) - Google Analytics