Oracle游标使用参考语句实例解析
网络编程 2021-07-05 16:09www.168986.cn编程入门
这篇文章主要介绍了Oracle游标使用参考语句实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
游标是从表中检索出结果集,从中每次指向一条记录进行交互的机制。
作用
- 指定结果集中特定行的位置。
- 基于当前的结果集位置检索一行或连续的几行。
- 在结果集的当前位置修改行中的数据。
- 对其他用户所做的数据更改定义不同的敏感性级别。
- 可以以编程的方式访问数据库。
一个简单实用
Declare -- 声明游标 Cursor Mycur Is Select From Emp; Empinfo Emp%Rowtype; Cou Number; Begin -- 游标操作使用循环,在操作之前必须先将游标打开 For Empinfo In Mycur Loop Cou := Mycur%Rowcount; Dbms_Output.Put_Line('行号' || Cou || ' 雇员编号' || Empinfo.Empno || ' 雇员姓名' || Empinfo.Ename); End Loop; End;
循环取出数据的两种写法
Declare -- 声明游标 Cursor Mycur Is Select From Emp; -- List (EmpPo) Empinfo Emp%Rowtype; Cou Number; Begin -- 游标操作使用循环,在操作之前必须先将游标打开 If Mycur%Isopen Then Null; Else Open Mycur; End If; -- 使游标向下一行 Fetch Mycur Into Empinfo; -- 判断此行是否有数据被发现 While (Mycur%Found) Loop Cou := Mycur%Rowcount; Dbms_Output.Put_Line('行号' || Cou || ' 雇员编号' || Empinfo.Empno || ' 雇员姓名' || Empinfo.Ename); -- 修改游标,继续向下 Fetch Mycur Into Empinfo; End Loop; End;
第二种写法
Declare -- 声明游标 Cursor Mycur Is Select From Emp; Empinfo Emp%Rowtype; Cou Number; Begin -- 游标操作使用循环,在操作之前必须先将游标打开 If Mycur%Isopen Then Null; Else Open Mycur; End If; Loop -- 使游标向下一行 Fetch Mycur Into Empinfo; Exit When Mycur%Notfound; Cou := Mycur%Rowcount; Dbms_Output.Put_Line('行号' || Cou || ' 雇员编号' || Empinfo.Empno || ' 雇员姓名' || Empinfo.Ename); End Loop; End;
在存储过程中使用游标
Create Or Replace Procedure Myproc(Oi_Return Out Integer) Is Cursor Mycur Is Select From Emp_0915; Empinfo Emp_0915%Rowtype; Cou Number; Exc_Return Exception; -- 程序中间返回自定义异常 Begin If Mycur%Isopen Then Null; Else Open Mycur; End If; Loop Fetch Mycur Into Empinfo; Exit When Mycur%Notfound; Cou := Mycur%Rowcount; Dbms_Output.Put_Line(Cou || '开始更新...'); Update Emp_0915 t Set t.Sal = t.Sal + 1 Where t.Empno = Empinfo.Empno; Dbms_Output.Put_Line(Cou || '更新结束...'); End Loop; Commit; Oi_Return := 1; Exception When Exc_Return Then Rollback; Oi_Return := 0; End;
在oracle中测试
Declare Re Integer; Begin Myproc(Re); If Re = 1 Then Dbms_Output.Put_Line(Re || '执行结束。。。'); Else Dbms_Output.Put_Line(Re || '执行错误_______'); End If; End;
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
编程语言
- 甘肃哪有关键词排名优化购买方式有哪些
- 甘肃SEO如何做网站优化
- 河南seo关键词优化怎么做电话营销
- 北京SEO优化如何做QQ群营销
- 来宾百度关键词排名:提升您网站曝光率的关键
- 卢龙关键词优化:提升您网站排名的策略与技巧
- 山东网站优化的注意事项有哪些
- 四川整站优化怎样提升在搜索引擎中的排名
- 疏附整站优化:提升网站性能与用户体验的全新
- 海南seo主要做什么工作售后服务要做到哪些
- 荣昌百度网站优化:提升您网站的搜索引擎排名
- 河北seo网站排名关键词优化如何做SEO
- 江西优化关键词排名推广售后保障一般有哪些
- 古浪SEO优化:提升你的网站可见性
- 西藏网站排名优化怎么把网站排名在百度首页
- 如何提升阳东百度快照排名:详尽指南