简单了解一下oracle中的显示游标和存储过程
2024-08-28 20:47:25
游标
游标主要分两类动态和静态游标,静态游标是编译时知道明确的select语句的游标,静态游标分类两种,显示游标和静态游标,这里只说显示游标
显示游标
declare
name emp.ename%type;
sal emp.sal%type; --声明两个变量
cursor emp_currsor is --声明游标
select ename,sal from emp;
begin
open emp_currsor; --第一步打开游标
loop
fetch emp_currsor into name,sal; --fetch提取游标
exit when emp_currsor%notfound; --判断游标是否还有值
dbms_output.put_line('第'||emp_currsor%rowcount||'个雇员'||name||sal);
end loop;
close emp_currsor; --最后一步关闭游标
end;
显示游标属性
%found:只有在DML语句影响一行或者多行时,%found属性才返回true
%notfound:如果没有影响任何行返回true
%rowcount:属性返回DML语句影响的行数.如果DML语句没有影响任何行,则%rowcount属性返回0
%isopen:返回游标是否已被打开
循环读取游标
declare
cursor cu_emp is
select * from emp;
lr_emp cu_emp%rowtype; --声明变量 begin
for lr_emp in cu_emp
loop
dbms_output.put_line('empName: ' || lr_emp.ename);
end loop;
end;
结果:
存储过程
--创建存储过程
create or replace procedure proc_getEmpList(v_empno number,vara varchar)
is
--遍历游标
cursor cu_emp is
select * from emp;
lr_emp cu_emp%rowtype; --声明变量 begin
dbms_output.put_line('v_empno: ' || v_empno||'vara:'||vara);
for lr_emp in cu_emp
loop
dbms_output.put_line('empName: ' || lr_emp.ename);
end loop;
end; --调用
begin
proc_getEmpList(123,'');
end;
最新文章
- 2015 西雅图微软总部MVP峰会记录
- php浏览历史记录
- Day18_集合第四天
- stack UVA 442 Matrix Chain Multiplication
- jquery ajax事件
- TKStudio 4.6IDE Warning: L6310W: Unable to find ARM libraries.
- WEB开发框架
- QT 常用设置
- C# 右键菜单 contextMenuStrip
- sql getdate() 时间格式设置
- 挣值管理不是搞数字游戏(3)——进阶指标:CV、SV、CPI、SPI、EAC
- QCW切割 --铁片
- 基于 HTML5 WebGL 的 3D SCADA 主站系统
- [Python爬虫] Selenium爬取新浪微博客户端用户信息、热点话题及评论 (上)
- 二、Item Pipeline和Spider-----基于scrapy取校花网的信息
- Go基础(3)
- 翻译:replace into语句(已提交到MariaDB官方手册)
- Linux sys_call_table变动检测
- C/C++三目运算符
- java web中的异常处理
热门文章
- jqGrid方法整理
- Jersey前后端交互初体验
- c#操作excel的一些记录
- java环境下wsimport编译Wsdl
- 在vs2010使用EF出现CS0012: 类型“System.Data.Objects.DataClasses.EntityObject”在未被引用的程序集中定义
- 收藏 创建第一个mvc
- Eclipse常用设置和快捷键
- 解决圆角bitmap保存时背景为黑色
- Cocos2d-x v3.1项目创建(三)
- linux系统unzip文件报错的解决方案